for 循環用於針對集合中的每個元素的一個代碼塊,而while循環不斷地運行,python
直到指定的條件知足爲止。app
1,小例:ide
咱們先用while數數,從1數到5: 代碼以下測試
2,讓用戶選擇什麼時候退出:網站
在while循環中咱們在其中定義一個退出值,只要用戶輸入的不是這個值,程序就接着運行ui
小代碼:以下spa
1 piompt = 「Please enter content:」 2 message = 「」 3 while message != ’quit‘: 4 message = input(prompt) 5 print(message)
咱們將active設置成了True,讓程序最初處於活動狀態,只要變量active爲True,循環就將繼續執行,code
while循環裏用戶輸入後使用一條if語句來檢查active變量的值,若是用戶輸入的是‘quit’咱們將active設置成爲False,while循環不在繼續執行下去blog
若是用戶輸入的不是quit,那麼輸入做爲一條消息打印出來。ci
3,break退出循環
1 # 1,break退出循環,不在運行餘下的代碼 2 # 2,例如上面的程序,用戶輸入quit後使用break退出while循環 3 sb = ("Please enter the break statement") 4 while True: 5 city = input(sb) 6 if City == 'quit' 7 break 8 esle: 9 print('go'+ City.title() + '!') 10 11 12 # 又一個小例子: 13 #1,用戶輸入他到過城市的名字,直到quit()退出,用戶輸入quit()後程序將# # 執行break語句,致使python退出循環 14 15 16 # 注意,在任何python循環中,可以使用break,例如使用break語句來退出來# 遍歷字典或列表的for循環
4,在循環中使用continue
要返回到循環的開頭並根據條件測試結果決定是否繼續執行,可以使用continue語句。
例如來看一個從1數到10但只打印其中的奇數。以下:
1 ret_number = 0 2 while ret_number <10: 3 ret_number += 1 4 if ret_number % 2 == 0: 5 continue 6 print(ret_number) 7 8 # 首先將ret_number設爲0,因爲它小於10,進入循環後以1的步長增加 9 # 所以ret_number爲1,此時if語句檢查ret_number與2求模運算的結果 10 # 若是結果爲0,那意味着ret_number能被2整除,就執行continue語句讓# # python忽略下面的代碼,並返回開頭執行 11 #
循環小拓展:
假設:1,有一個列表,其中包含新註冊但還未驗證的網站用戶,驗證這些用戶後,把他們移到另外一個一驗證用戶列表中
在while循環這裏固然先用while咯,哈哈哈哈,代碼以下
1 # 首先先建立一個未驗證的用戶列表 2 # 在建立一個已驗證的空列表 3 list = ['小努力',‘小勇氣’,‘小堅持’,‘小加油’] 4 user_list = [] 5 while list: 6 user_name = list.pop() 7 print(user_name.title()) 8 user_list.append(user_name) 9 # 顯示全部已驗證的用戶 10 for i in user_list: 11 print(i)
假設:2,刪除包含特定值的全部列表元素
在這裏說一下remove()刪除方法,要刪除的值只出現一次,若是要刪除列表中特有的全部值怎麼辦?
假設,我有一個寵物的列表,其中包含多個值爲Cat的元素。要刪除全部這些元素,使用while循環全部元素及刪除,直到沒有Cat爲止
1 pass = ['dog','cat','dog','goldfish','cat','rabbit,','cat'] 2 print(pass) 3 while cat in pass: 4 pass.remove('cat') 5 print(pass)
假設:3,使用用戶輸入來填充字典
使用while循環提示用戶輸入任意數量的信息,下面來建立一個調查的程序
1,每次執行循環時都提示被調查者的名字和回答,
2,將收集的數據存在一個字典中,以便將回答同被調查者關聯起來。
1 re = {} 2 # 設置一個標誌,指出調查是否繼續 3 pollng = True 4 while pollng: 5 # 提示輸入被調查者的名字和回答 6 name = input('>>>') 7 re = inupt('>>>') 8 # 將答卷存在字典中 9 re[name] = ret 10 # 看看是否還有人要參與調查 11 repeat = input('還有誰?(yes/no)') 12 if repeat == no: 13 pollng = False 14 # 調查結果顯示 15 for name,re in re.items(): 16 print(name + "would like to climb" + re +",")
首先定義一個空字典,並設置了,一個標誌用因而否繼續調查,只要惟True就繼續運行while循環,
在這個循環中提示用戶輸入用戶名以及喜歡什麼,這些信息尋在字典中,而後質詢用戶是否繼續,若是yes程序將再次進入while循環中,若是輸入的no,標誌將被設置爲False (退出程序)