Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。1 函式 input()的工作原理

函式input()讓程式暫停執行,等待使用者輸入一些文字。

例如,下面的程式讓使用者輸入一些文字,再將這些文字呈現給使用者:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

函式input()接受一個引數:即要向用戶顯示的提示或說明,讓使用者知道該如何做。

7。1。1 編寫清晰的程式

每當你使用函式input()時,都應指定清晰而易於明白的提示,準確地指出你希望使用者提供

什麼樣的資訊——指出使用者該輸入任何資訊的提示都行,如下所示:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

透過在提示末尾(這裡是冒號後面)包含一個空格,可將提示與使用者輸入分開,讓使用者清楚

地知道其輸入始於何處,如下所示:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

有時候,提示可能超過一行

,例如,你可能需要指出獲取特定輸入的原因。

在這種情況下,可將提示儲存在一個變數中,再將該變數傳遞給函式input()

。這樣,即便提示超過一行, input()語句也非常清晰。

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

這個示例演示了一種建立多行字串的方式。第1行將訊息的前半部分儲存在變數prompt中;

在第2行中,運算子+=在儲存在prompt中的字串末尾附加一個字串。

最終的提示橫跨兩行,並在問號後面包含一個空格,這也是出於清晰考慮:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。1。2 使用 int()來獲取數值輸入

使用函式input()時, Python將使用者輸入解讀為字串。

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

使用者輸入的是數字21,當我們請求Python提供變數age的值時,它返回的是‘21’——使用者輸入

的數值的字串表示。

為解決這個問題,可使用函式int(),它讓Python將輸入視為數值。函式int()將數字的字元

串表示轉換為數值表示,如下所示:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。1。3 求模運算子

處理數值資訊時, 求模運算子( %)是一個很有用的工具,它將兩個數相除並返回餘數:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

求模運算子不會指出一個數是另一個數的多少倍,而只指出餘數是多少。如果一個數可被另一個數整除,餘數就為0,因此求模運算子將返回0。

7。2 while 迴圈簡介

for迴圈用於針對集合中的每個元素都一個程式碼塊,而while迴圈不斷地執行,直到指定的條件不滿足為止。

7。2。1 使用 while 迴圈

可以使用while迴圈來數數

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

只要滿足條件current_number <= 5, Python就接著執行這個迴圈。由於1小於5,因此Python列印1,並將current_number加1,使其為2;由於2小於5,因此Python列印2,並將current_number加1,使其為3,以此類推。一旦current_number大於5,迴圈將停止,整個程式也將到此結束:

7。2。2 讓使用者選擇何時退出

我們在其中定義了一個退出值,只要使用者輸入的不是這個值,程式就接著執行

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。2。3 使用標誌

在要求很多條件都滿足才繼續執行的程式中,可定義一個變數,用於判斷整個程式是否處於

活動狀態。這個變數被稱為標誌,充當了程式的交通訊號燈。你可讓程式在標誌為True時繼續運

行,並在任何事件導致標誌的值為False時讓程式停止執行。這樣,在while語句中就只需檢查一

個條件——標誌的當前值是否為True,並將所有測試(是否發生了應將標誌設定為False的事件)

都放在其他地方,從而讓程式變得更為整潔。

parrot。py中新增一個標誌。我們把這個標誌命名為active(可給它指

定任何名稱),它將用於判斷程式是否應繼續執行:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。2。4 使用 break 退出迴圈

要立即退出while迴圈,不再執行迴圈中餘下的程式碼,也不管條件測試的結果如何,可使用break語句。 break語句用於控制程式流程,可使用它來控制哪些程式碼行將執行,哪些程式碼行不執

行,從而讓程式按你的要求執行你要執行的程式碼。

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

在任何Python迴圈中都可使用break語句。例如,可使用break語句來退出遍歷列表或字典的for迴圈。

7。2。5 在迴圈中使用 continue

要返回到迴圈開頭,並根據條件測試結果決定是否繼續執行迴圈,可使用continue語句,它

不像break語句那樣不再執行餘下的程式碼並退出整個迴圈。

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。2。6 避免無限迴圈

每個while迴圈都必須有停止執行的途徑,這樣才不會沒完沒了地執行下去。

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。3 使用 while 迴圈來處理列表和字典

7。3。1 在列表之間移動元素

confirmed_users。py # 首先,建立一個待驗證使用者列表# 和一個用於儲存已驗證使用者的空列表 unconfirmed_users = [‘alice’, ‘brian’, ‘candace’]

confirmed_users = []

# 驗證每個使用者,直到沒有未驗證使用者為止# 將每個經過驗證的列表都移到已驗證使用者列表中

while unconfirmed_users:

current_user = unconfirmed_users。pop()

print(“Verifying user: ” + current_user。title()) confirmed_users。append(current_user)

# 顯示所有已驗證的使用者

print(“\nThe following users have been confirmed:”)

for confirmed_user in confirmed_users:

print(confirmed_user。title())

未驗證使用者列表為空後結束迴圈,再列印已驗證使用者列表:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。3。2 刪除包含特定值的所有列表元素

我們使用函式remove()來刪除列表中的特定值,這之所以可行,是因為要刪除

的值在列表中只出現了一次。

假設你有一個寵物列表,其中包含多個值為‘cat’的元素。要刪除所有這些元素,可不斷運

行一個while迴圈,直到列表中不再包含值‘cat’,如下所示:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

列印列表:

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)

7。3。3 使用使用者輸入來填充字典

Python程式設計從入門到實踐-連載6(使用者輸入和while迴圈)