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...