python入門(三)判斷語句
阿新 • • 發佈:2018-04-05
邏輯判斷 if lse while python中的常用判斷語句if....elif....else,while
if
if的用法:
這是要我們輸入的一個字符串,我們需要把這個字符串強制轉換成整數類型,需要用的int
前面說過,整數類型int,字符串str,浮點數floa
if
if的用法:
if + 條件判斷:
邏輯操作.....
例子:
比如讓你輸入一個數字,來判斷這個數字的大小
#如果這個數字大於80
if 90>80:
print "great"
如果輸入的數字大於80,那麽輸出great
else的用法:
條件不成立
例子:
#如果這個數字大於80
if 70>80:
print ("great")
#如果不大於80
else:
print ("it‘s wrong")
我們輸入一個數字,如果大於80,那麽輸出就是great,如果小於80,那麽就是wrong
elif的用法:
多個判斷條件
例子:
#如果這個數字大於80
if 77>80:
print ("great")
#如果這個數字大於60
elif 77>60:
print ("yes")
else:
print ("it‘s wrong")
當我輸入一個數字,比如輸入90,那麽打印的結果就是great,如果輸入77,那麽打印的結果就是yes,當我輸入50,打印的結果就是it‘wrong
以上為正常的判斷和輸入,但是當我需要自己輸入的時候呢?a=input("please input a number:" )
這是要我們輸入的一個字符串,我們需要把這個字符串強制轉換成整數類型,需要用的int
前面說過,整數類型int,字符串str,浮點數floa
a=input("please input a number:" )
if int(a)>80:
print ("great")
elif int(a)>60:
print ("yes")
else:
print ("it‘s wrong")
問題1:
input輸入的是一個字符串,比如輸入的有空格,空格不是整數
那麽我們需要判斷是否輸入的有沒有空格,用strip()函數
a=input("please input a number:" )
if a.strip():
if int(a)>80:
print ("great")
elif int(a)>60:
print ("yes")
else:
print ("it‘s wrong")
else:
print("不允許輸入空格")
這時候輸入空格的話就會打印 ‘不允許輸入空格’
問題2
當我輸入一串英文呢?那麽我們繼續加入一個判斷,來判斷是不是一個數字用函數.isdigit()
- 判斷是不是數字isdigit()
- 判斷是不是字母和數字isalnum()
- 判斷是不是字母isalpha()
- 判斷是不是空格isspace()
- 判斷是不是小寫/大寫islower()/isupper()
a=input("please input a number:" )
if a.strip():
if a.isdigit():
if int(a)>80:
print ("great")
elif int(a)>60:
print ("yes")
else:
print ("it‘s wrong")
else:
print("這不是一個數字")
else:
print ("不允許輸入空格")
while循環
用法:
while 條件: 1
邏輯判斷if...else.. 2
執行順序1→2→1→2。。。。。直到while條件不成立
比如
a=1
while a<10:
print ("{0}".format(a)
a +=1
那麽運行的結果就是,a=1,當a<10,打印a,然後a+1,回到循環(這時候a等於上一輪的a+1) ,是否滿足條件a<10,然後打印當前“a”,然後“a”+1,繼續回循環。。。。。
1
2
3
4
5
6
7
8
9
註意,當while的條件判斷為while True:,或者while 1:的時候這個循環是一個死循環,因為不管怎麽執行邏輯判斷,條件都顯示為正確
while 1:比while True:執行速度快,機器的底層代碼就是0和1,True還需要進行轉換
python入門(三)判斷語句