標籤:邏輯判斷 if lse while
python中的常用判斷語句if....elif....else,while
if
if的用法:
if + 條件判斷: 邏輯操作.....
例子:
比如讓你輸入一個數字,來判斷這個數位大小
#如果這個數字大於80 if 90>80: print "great"
如果輸入的數字大於80,那麼輸出great
else的用法:
條件不成立
例子:
#如果這個數字大於80if 70>80: print ("great")#如果不大於80else: 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=1while a<10: print ("{0}".format(a) a +=1
那麼啟動並執行結果就是,a=1,當a<10,列印a,然後a+1,回到迴圈(這時候a等於上一輪的a+1) ,是否滿足條件a<10,然後列印當前“a”,然後“a”+1,繼續回迴圈。。。。。
123456789
注意,當while的條件判斷為while True:,或者while 1:的時候這個迴圈是一個死迴圈,因為不管怎麼執行邏輯判斷,條件都顯示為正確
while 1:比while True:執行速度快,機器的底層代碼就是0和1,True還需要進行轉換
python入門(三)判斷語句