說說 Python 的 while 迴圈語句

2021-09-12 07:25:08 字數 3148 閱讀 9915

for 迴圈用於集合,其中的每乙個元素都會執行同一段**塊; 而 while 迴圈會不斷地執行同一段**塊, 直到不滿足指定的條件為止。

我們使用 while 迴圈語句,設計乙個小遊戲。讓玩家輸入乙個數字,程式將告訴他,這個數是奇數,還是偶數:

# 輸入提示

prompt = '輸入乙個數字,我將告訴你,它是奇數,還是偶數哦o(∩_∩)o~'

prompt += '\n輸入「不玩了」,將退出本程式: '

exit = '不玩了' # 退出指令

content = '' #輸入內容

while content != exit:

content = input(prompt)

if content.isdigit():

number = int(content)

if (number % 2 == 0):

print('該數是偶數')

else:

print('該數是奇數')

elif content != exit:

print('輸入的必須是數字哦')

執行結果:

我們在這段程式中,定義了乙個退出指令, 只要玩家輸入的不是這個指令, 程式就會一直執行。

真實的遊戲場景,可能有很多情況都會導致遊戲結束。這時我們可以定義乙個活動狀態標識,用於判斷整個程式是否處於活動狀態。

我們來改寫之前的示例:

prompt = '輸入乙個數字,我將告訴你,它是奇數,還是偶數哦o(∩_∩)o~'

prompt += '\n輸入「不玩了」,將退出本程式: '

exit = '不玩了' # 退出指令

content = '' # 輸入內容

active = true # 活動狀態標識

while active:

content = input(prompt)

if content.isdigit():

number = int(content)

if (number % 2 == 0):

print('該數是偶數')

else:

print('該數是奇數')

elif content == exit:

active = false

else:

print('輸入的必須是數字哦')

改寫後,程式邏輯變得更清晰咯o(∩_∩)o~

在複雜的程式中, 可能存在很多事件都會導致程式停止。這時,設計乙個活動狀態標識就很有用: 其中的任何乙個事件發生時,把活動狀態標識設定為 false, 主程式迴圈結束。

使用 break 關鍵字,可以立即退出while 迴圈。

...

while active:

content = input(prompt)

if content.isdigit():

...elif content == exit:

break

else:

...

使用 continue 關鍵字,可以直接返回到迴圈的開頭, 然後根據 while 條件測試結果來決定是否繼續執行下一次迴圈。

while active:

content = input(prompt)

if content.isdigit():

number = int(content)

if (number % 2 == 0):

print('該數是偶數')

else:

continue

elif content == exit:

break

else:

print('輸入的必須是數字哦')

這個改寫後的示例,將只會列印偶數;如果碰到奇數,則直接跳到下乙個迴圈。

每個 while 迴圈都必須有一條停止執行的條件,否則就會無限迴圈執行下去。如果程式不小心陷入無限迴圈, 那麼就必須按 ctrl + c , 或關閉顯示程式輸出的終端視窗,來強行停止程式。

可以使用 while 迴圈,在遍歷列表的同時對其進行修改。而這在 for 迴圈中,就不可以一邊遍歷一邊修改。

to_go_countries = ['英國', '法國', '美國']  # 想去的國家

visited_countries = # 已去的國家

while to_go_countries:

country = to_go_countries.pop()

print('準備去【' + country+'】')

print('做攻略')

print('出發')

print('回來咯')

print('to_go_countries:'+str(to_go_countries))

print('這些國家去過啦:' + str(visited_countries))

執行結果:

**中,使用 pop() 方法彈出棧頂元素(即列表末尾的最後乙個元素),並返回這個元素。

可以看到,【 想去的國家列表】在退出 while 迴圈之後,已經被彈空啦o(∩_∩)o~

假設,目前有這些菜可點,但今天突然不想吃 「炸豆腐」,我們就可以這些寫:

foods = ['拌海蜇', '熗冬筍', '炸豆腐', '炸麵筋', '麻辣野雞', '炒肉片']

while '炸豆腐' in foods:

foods.remove('炸豆腐')

print('foods=' + str(foods))

執行結果:

foods=[『拌海蜇』, 『熗冬筍』, 『炸麵筋』, 『麻辣野雞』, 『炒肉片』]

Python學習筆記 for和while迴圈語句

根據廖雪峰官方 python教程整理 一 for 迴圈要計算1 2 3 我們可以直接寫表示式 1 2 3 6 要計算1 2 3 10 勉強也能寫出來。但是,要計算1 2 3 10000 直接寫表示式就不可能了。為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。python的迴圈有兩種,一種...

python基礎for迴圈和while迴圈(十)

while 迴圈 a 10 while a 0 print a print 結束 for迴圈 a 12345 for item in a print item b 1,2,3,4 for item in b print item c a b c d for item in c print item ...

python基礎(for迴圈和while迴圈)

for 迴圈 for i in range 5 if i 3 continue print loop i print 執行結果 表示迴圈從1開始到10,步長為2 print loop i print 執行結果 2.while 迴圈 1 count 0while true count 1if coun...