python之判斷和循環
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。
比如,輸入用戶年齡,根據年齡打印不同的內容,在Python程序中,可以用if語句實現:
age = 20 if age >= 18: print (‘your age is,‘+str(age)) print (‘adult‘) print (‘END‘)
註意: Python代碼的縮進規則。具有相同縮進的代碼被視為代碼塊,上面的3,4行 print 語句就構成一個代碼塊(但不包括第5行的print)。如果 if 語句判斷為 True,就會執行這個代碼塊。
縮進請嚴格按照Python的習慣寫法:4個空格,不要使用Tab,更不要混合Tab和空格,否則很容易造成因為縮進引起的語法錯誤。
註意: if 語句後接表達式,然後用:表示代碼塊開始。
ages=input(‘please input you age: ‘) age=int(ages) if age >= 18: print(‘adult‘) elif age >= 6: print(‘teenager‘) elif age >= 3: print(‘kid‘) else: print(‘baby‘)
list或tuple可以表示一個有序集合。如果我們想依次訪問一個list中的每一個元素呢?
Python的 for 循環就可以依次把list或tuple的每個元素叠代出來:
L = [‘Adam‘, ‘Lisa‘, ‘Bart‘] for name in L: print(name) 結果: [python@master if]$ python3 3.py Adam Lisa Bart
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。
Python 編程中 while 語句用於循環執行程序,即在某條件下,循環執行某段程序,以處理需要重復處理的相同任務。其基本形式為:
while 判斷條件:
執行語句……
執行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。當判斷條件假false時,循環結束。
count = 0 sum=0 while(count < 9): print(‘The count is:‘ + str(count)) sum=sum+count count = count + 1 print(‘sum is :‘+ str(sum)) print(‘Good bye!‘) 結果: [python@master if]$ python3 4.py The count is:0 The count is:1 The count is:2 The count is:3 The count is:4 The count is:5 The count is:6 The count is:7 The count is:8 sum is :36 Good bye!
python之break語句退出循環。
sum = 0 x = 1 while True: sum = sum + x x = x + 1 if x > 100: break print(sum) 結果: [python@master if]$ python3 5.py 5050
在循環過程中,可以用break退出當前循環,還可以用continue跳過後續循環代碼,繼續下一次循環。
L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: sum = sum + x n = n + 1 print(sum/n) 結果: [python@master if]$ python3 6.py 72.0
現在老師只想統計及格分數的平均分,就要把 x < 60 的分數剔除掉,這時,利用 continue,可以做到當 x < 60的時候,不繼續執行循環體的後續代碼,直接進入下一次循環:
L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: if x < 60: continue sum = sum + x n = n + 1 print(sum/n) 結果: [python@master if]$ python3 7.py 79.0
python 還有多重循環
for x in [‘A‘, ‘B‘, ‘C‘]: for y in [‘1‘, ‘2‘, ‘3‘]: print (x + y) 結果:
x 每循環一次,y 就會循環 3 次,這樣,我們可以打印出一個全排列: [python@master if]$ python3 8.py A1 A2 A3 B1 B2 B3 C1 C2 C3
python之判斷和循環