Python學習之路6-用戶輸入和while循環

本系列是對入門書籍《Python編程:從入門到實戰》的筆記整理,屬於初級內容。標題順序採用書中標題

1. input()函數

在Python中,使用input()函數獲取用戶輸入,這裡請注意:input()的返回值為字符串。如果輸入的是數字,並且要用於後續計算,需要進行類型轉換。

input()函數可以傳入字符串參數作為輸入提示,如下:

Python學習之路6-用戶輸入和while循環

判斷奇偶(作為對前文常見運算的補充):取模運算 % ,返回餘數

Python學習之路6-用戶輸入和while循環

2. while循環簡介

for循環用於針對集合中的每個元素的一個代碼塊,而while循環不斷地運行,直到指定的條件不滿足為止。比如,讓用戶選擇何時退出:

Python學習之路6-用戶輸入和while循環

2.1 使用標誌

在上述代碼中我們直接對輸入數據進行判斷,這樣做在簡單的程序中可行,但複雜的程序中,如果有多個狀態同時決定while循環的繼續與否,要是還用上述的方法,則while循環的條件判斷將很長很複雜,這時可以定義一個變量作為標誌來代替多個條件。使用標誌來改寫上述代碼:

Python學習之路6-用戶輸入和while循環

在複雜的程序中,如很多事件都會導致程序停止運行的遊戲中,標誌很有用:在其中的任何一個事件導致活動標誌變為False時,主遊戲循環將退出。

2.2 使用break退出循環

要立即退出while或者for循環,不在執行循環中餘下的代碼,也不管條件測試的結果如何,可使用break語句。再將上述使用標誌的代碼改寫為break:

Python學習之路6-用戶輸入和while循環

2.3 在循環中使用continue

如果滿足某條件時要返回循環開始處,而不是跳出循環,則使用continue語句。以下是打印1到10中的所有奇數的代碼:

Python學習之路6-用戶輸入和while循環

break與continue的區別:break跳過循環體內餘下的所有代碼,並跳出循環;continue跳過循環體內餘下的所有代碼,回到循環體開始處繼續執行,而不是跳出循環體。

值得提醒的是,編寫循環時應避免死循環,或者叫做無限循環,比如while循環忘記了變量自增。

3 使用while循環來處理列表和字典

3.1 在列表之間移動元素

將未驗證用戶經驗證後變為已驗證用戶:

Python學習之路6-用戶輸入和while循環

3.2 刪除包含特定值的所有列表元素

之前的章節中使用remove()函數來刪除列表中的值,但只刪除了列表中的第一個指定值,以下代碼循環刪除列表中指定的值:

Python學習之路6-用戶輸入和while循環

3.3 使用用戶輸入來填充字典

Python學習之路6-用戶輸入和while循環


分享到:


相關文章: