Python While迴圈語句例項演示及原理解析
這篇文章主要介紹了Python While迴圈語句例項演示及原理解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
Python 程式設計中 while 語句用於迴圈執行程式,即在某條件下,迴圈執行某段程式,以處理需要重複處理的相同任務。其基本形式為:
while 判斷條件:
執行語句……
執行語句可以是單個語句或語句塊。判斷條件可以是任何表示式,任何非零、或非空(null)的值均為true。
當判斷條件假false時,迴圈結束。
執行流程圖如下:
Python while 語句執行過程
例項:
#!/usr/bin/python count = 0 while (count < 9): print 'The count is:',count count = count + 1 print "Good bye!"
以上程式碼執行輸出結果:
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 Good bye!
while 語句時還有另外兩個重要的命令 continue,break 來跳過迴圈,continue 用於跳過該次迴圈,break 則是用於退出迴圈,此外"判斷條件"還可以是個常值,表示迴圈必定成立,具體用法如下:
# continue 和 break 用法 i = 1 while i < 10: i += 1 if i%2 > 0: # 非雙數時跳過輸出 continue print i # 輸出雙數2、4、6、8、10 i = 1 while 1: # 迴圈條件為1必定成立 print i # 輸出1~10 i += 1 if i > 10: # 當i大於10時跳出迴圈 break
無限迴圈
如果條件判斷語句永遠為 true,迴圈將會無限的執行下去,如下例項:
#coding=utf-8 #!/usr/bin/python var = 1 while var == 1 : # 該條件永遠為true,迴圈將無限執行下去 num = raw_input("Enter a number :") print "You entered: ",num print "Good bye!"
以上例項輸出結果:
Enter a number :20 You entered: 20 Enter a number :29 You entered: 29 Enter a number :3 You entered: 3 Enter a number between :Traceback (most recent call last): File "test.py",line 5,in <module> num = raw_input("Enter a number :") KeyboardInterrupt
注意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。
迴圈使用 else 語句
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在迴圈正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。
#!/usr/bin/python count = 0 while count < 5: print count," is less than 5" count = count + 1 else: print count," is not less than 5"
以上例項輸出結果為:
0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 5 is not less than 5
簡單語句組
類似if語句的語法,如果你的while迴圈體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:
#!/usr/bin/python flag = 1 while (flag): print 'Given flag is really true!' print "Good bye!"
注意:以上的無限迴圈你可以使用 CTRL+C 來中斷迴圈。
While迴圈語句例項
猜拳小遊戲
#!/usr/bin/python # -*- coding: UTF-8 -*- import random while 1: s = int(random.randint(1,3)) if s == 1: ind = "石頭" elif s == 2: ind = "剪子" elif s == 3: ind = "布" m = raw_input('輸入 石頭、剪子、布,輸入"end"結束遊戲:') blist = ['石頭',"剪子","布"] if (m not in blist) and (m != 'end'): print "輸入錯誤,請重新輸入!" elif (m not in blist) and (m == 'end'): print "\n遊戲退出中..." break elif m == ind : print "電腦出了: " + ind + ",平局!" elif (m == '石頭' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石頭'): print "電腦出了: " + ind +",你贏了!" elif (m == '石頭' and ind =='布') or (m == '剪子' and ind =='石頭') or (m == '布' and ind =='剪子'): print "電腦出了: " + ind +",你輸了!"
以上例項輸出結果為:
輸入 石頭、剪子、布,輸入"end"結束遊戲:石頭 電腦出了: 石頭,平局! 輸入 石頭、剪子、布,輸入"end"結束遊戲:石頭 電腦出了: 剪子,你贏了! 輸入 石頭、剪子、布,輸入"end"結束遊戲:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。