溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python While循環(huán)語(yǔ)句實(shí)例演示及原理解析

發(fā)布時(shí)間:2020-08-26 18:33:33 來(lái)源:腳本之家 閱讀:185 作者:pypypypy 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Python While循環(huán)語(yǔ)句實(shí)例演示及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Python 編程中 while 語(yǔ)句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。其基本形式為:

while 判斷條件:
執(zhí)行語(yǔ)句……

執(zhí)行語(yǔ)句可以是單個(gè)語(yǔ)句或語(yǔ)句塊。判斷條件可以是任何表達(dá)式,任何非零、或非空(null)的值均為true。

當(dāng)判斷條件假false時(shí),循環(huán)結(jié)束。

執(zhí)行流程圖如下:

Python While循環(huán)語(yǔ)句實(shí)例演示及原理解析

Python while 語(yǔ)句執(zhí)行過(guò)程

Python While循環(huán)語(yǔ)句實(shí)例演示及原理解析

實(shí)例:

 #!/usr/bin/python
 count = 0
 while (count < 9):  print 'The count is:', count  count = count + 1 print "Good bye!"

以上代碼執(zhí)行輸出結(jié)果:

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 語(yǔ)句時(shí)還有另外兩個(gè)重要的命令 continue,break 來(lái)跳過(guò)循環(huán),continue 用于跳過(guò)該次循環(huán),break 則是用于退出循環(huán),此外"判斷條件"還可以是個(gè)常值,表示循環(huán)必定成立,具體用法如下:

# continue 和 break 用法
i = 1
while i < 10:    i += 1   if i%2 > 0:   # 非雙數(shù)時(shí)跳過(guò)輸出
    continue
  print i     # 輸出雙數(shù)2、4、6、8、10

i = 1
while 1:      # 循環(huán)條件為1必定成立
  print i     # 輸出1~10
  i += 1
  if i > 10:   # 當(dāng)i大于10時(shí)跳出循環(huán)
    break

無(wú)限循環(huán)

如果條件判斷語(yǔ)句永遠(yuǎn)為 true,循環(huán)將會(huì)無(wú)限的執(zhí)行下去,如下實(shí)例:

#coding=utf-8
#!/usr/bin/python

var = 1
while var == 1 : # 該條件永遠(yuǎn)為true,循環(huán)將無(wú)限執(zhí)行下去
  num = raw_input("Enter a number :")
  print "You entered: ", num

print "Good bye!"

以上實(shí)例輸出結(jié)果:

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

注意:以上的無(wú)限循環(huán)你可以使用 CTRL+C 來(lái)中斷循環(huán)。

循環(huán)使用 else 語(yǔ)句

在 python 中,for … else 表示這樣的意思,for 中的語(yǔ)句和普通的沒(méi)有區(qū)別,else 中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完(即 for 不是通過(guò) break 跳出而中斷的)的情況下執(zhí)行,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"

以上實(shí)例輸出結(jié)果為:

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

簡(jiǎn)單語(yǔ)句組

類(lèi)似if語(yǔ)句的語(yǔ)法,如果你的while循環(huán)體中只有一條語(yǔ)句,你可以將該語(yǔ)句與while寫(xiě)在同一行中, 如下所示:

#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"

注意:以上的無(wú)限循環(huán)你可以使用 CTRL+C 來(lái)中斷循環(huán)。

While循環(huán)語(yǔ)句實(shí)例

猜拳小游戲

#!/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"結(jié)束游戲:')
  blist = ['石頭', "剪子", "布"]
  if (m not in blist) and (m != 'end'):
    print "輸入錯(cuò)誤,請(qǐng)重新輸入!"
  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 +",你輸了!"

以上實(shí)例輸出結(jié)果為:

 輸入 石頭、剪子、布,輸入"end"結(jié)束游戲:石頭
 電腦出了: 石頭,平局!
 輸入 石頭、剪子、布,輸入"end"結(jié)束游戲:石頭  
 電腦出了: 剪子,你贏了!
 輸入 石頭、剪子、布,輸入"end"結(jié)束游戲:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI