欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

談?wù)凱ython中的while循環(huán)語句

 更新時間:2019年03月10日 10:41:40   作者:deniro  
這篇文章主要給大家介紹了關(guān)于Python中while循環(huán)語句的相關(guān)資料,使用while循環(huán)語句可以解決程序中需要重復(fù)執(zhí)行的操作,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

python中有兩種循環(huán),while和for,兩種循環(huán)的區(qū)別是,while循環(huán)之前,先判斷一次,如果滿足條件的話,再循環(huán),for循環(huán)的時候必須有一個可迭代的對象,才能循環(huán),比如說得有一個數(shù)組。

循環(huán)里面還有兩個比較重要的關(guān)鍵字,continue和break,continue的意思是,跳出本次循環(huán),繼續(xù)重頭開始循環(huán),break的意思是停止整個循環(huán),也就是說在continue和break下面的代碼都是不執(zhí)行的。

for 循環(huán)用于集合,其中的每一個元素都會執(zhí)行同一段代碼塊; 而 while 循環(huán)會不斷地運行同一段代碼塊, 直到不滿足指定的條件為止。

1 示例

我們使用 while 循環(huán)語句,設(shè)計一個小游戲。讓玩家輸入一個數(shù)字,程序?qū)⒏嬖V他,這個數(shù)是奇數(shù),還是偶數(shù):

# 輸入提示
prompt = '輸入一個數(shù)字,我將告訴你,它是奇數(shù),還是偶數(shù)哦O(∩_∩)O~'
prompt += '\n輸入“不玩了”,將退出本程序: '

exit = '不玩了' # 退出指令
content = '' #輸入內(nèi)容
while content != exit:
 content = input(prompt)
 if content.isdigit():
  number = int(content)
  if (number % 2 == 0):
   print('該數(shù)是偶數(shù)')
  else:
   print('該數(shù)是奇數(shù)')
 elif content != exit:
  print('輸入的必須是數(shù)字哦')

運行結(jié)果:

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

2  活動狀態(tài)標(biāo)識

真實的游戲場景,可能有很多情況都會導(dǎo)致游戲結(jié)束。這時我們可以定義一個活動狀態(tài)標(biāo)識,用于判斷整個程序是否處于活動狀態(tài)。

我們來改寫之前的示例:

prompt = '輸入一個數(shù)字,我將告訴你,它是奇數(shù),還是偶數(shù)哦O(∩_∩)O~'
prompt += '\n輸入“不玩了”,將退出本程序: '

exit = '不玩了' # 退出指令
content = '' # 輸入內(nèi)容
active = True # 活動狀態(tài)標(biāo)識
while active:
 content = input(prompt)
 if content.isdigit():
  number = int(content)
  if (number % 2 == 0):
   print('該數(shù)是偶數(shù)')
  else:
   print('該數(shù)是奇數(shù)')
 elif content == exit:
  active = False
 else:
  print('輸入的必須是數(shù)字哦')

改寫后,程序邏輯變得更清晰咯O(∩_∩)O~

在復(fù)雜的程序中, 可能存在很多事件都會導(dǎo)致程序停止。這時,設(shè)計一個活動狀態(tài)標(biāo)識就很有用: 其中的任何一個事件發(fā)生時,把活動狀態(tài)標(biāo)識設(shè)置為 False, 主程序循環(huán)結(jié)束。

3  break 關(guān)鍵字

使用 break 關(guān)鍵字,可以立即退出while 循環(huán)。

...
while active:
 content = input(prompt)
 if content.isdigit():
  ...
 elif content == exit:
  break
 else:
  ...

4  continue 關(guān)鍵字

使用 continue 關(guān)鍵字,可以直接返回到循環(huán)的開頭, 然后根據(jù) while 條件測試結(jié)果來決定是否繼續(xù)執(zhí)行下一次循環(huán)。

while active:
 content = input(prompt)
 if content.isdigit():
  number = int(content)
  if (number % 2 == 0):
   print('該數(shù)是偶數(shù)')
  else:
   continue
 elif content == exit:
  break
 else:
  print('輸入的必須是數(shù)字哦')

這個改寫后的示例,將只會打印偶數(shù);如果碰到奇數(shù),則直接跳到下一個循環(huán)。

5 無限循環(huán)

每個 while 循環(huán)都必須有一條停止運行的條件,否則就會無限循環(huán)執(zhí)行下去。如果程序不小心陷入無限循環(huán), 那么就必須按 Ctrl  +  C , 或關(guān)閉顯示程序輸出的終端窗口,來強行停止程序。

6 處理列表

可以使用 while 循環(huán),在遍歷列表的同時對其進行修改。而這在 for 循環(huán)中,就不可以一邊遍歷一邊修改。

6.1 遷移列表元素

to_go_countries = ['英國', '法國', '美國'] # 想去的國家
visited_countries = [] # 已去的國家
while to_go_countries:
 country = to_go_countries.pop()
 print('準(zhǔn)備去【' + country+'】')
 print('【1】做攻略')
 print('【2】出發(fā)')
 print('【3】回來咯')
 visited_countries.append(country)

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

運行結(jié)果:


代碼中,使用 pop() 方法彈出棧頂元素(即列表末尾的最后一個元素),并返回這個元素。

可以看到,【 想去的國家列表】在退出 while 循環(huán)之后,已經(jīng)被彈空啦O(∩_∩)O~

6.2 刪除列表元素

假設(shè),目前有這些菜可點,但今天突然不想吃 “炸豆腐”,我們就可以這些寫:

foods = ['拌海蜇', '熗冬筍', '炸豆腐', '炸面筋', '麻辣野雞', '炒肉片']
while '炸豆腐' in foods:
 foods.remove('炸豆腐')
print('foods=' + str(foods))

運行結(jié)果:

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論