讀書筆記「Python程式設計:從入門到實踐」_7.使用者輸入和while迴圈
7.1 函式input()的工作原理
函式input() 讓程式暫停執行,等待使用者輸入一些文字。獲取使用者輸入後,Python將其儲存在一個變數中,以方便你使用。
message = input("Tell me something, and I will repeat it back to you: ") print(message)
Tell me something, and I will repeat it back to you: hello world hello world
7.1.1 編寫清晰的程式
通過在提示末尾(這裡是冒號後面)包含一個空格,可將提示與使用者輸入分開,讓使用者清楚地知道其輸入始於何處
有時候,提示可能超過一行,例如,你可能需要指出獲取特定輸入的原因。在這種情況下,可將提示儲存在一個變數中,再將該變數傳遞給函式input() 。
prompt = "If you tell us who you are, we can personalize the messages you see." prompt += "\nWhat is your first name? " name = input(prompt) print("\nHello, " + name + "!")
If you tell us who you are, we can personalize the messages you see. What is your first name? chang Hello, chang!
7.1.2 使用int()來獲取數值輸入
函式int() 將數字的字串表示轉換為數值表示
7.1.3 求模運算子
求模運算子 (%)是一個很有用的工具,它將兩個數相除並返回餘數
number = input("請輸入一個數字,我將告訴您這個是奇數還是偶數: ") number = int(number) if number%2 == 0: print("您輸入的是偶數") else: print("您輸入的是奇數")
請輸入一個數字,我將告訴您這個是奇數還是偶數: 123 您輸入的是奇數
7.1.4 在Python 2.7中獲取輸入
如果你使用的是Python 2.7,應使用函式raw_input() 來提示使用者輸入。這個函式與Python 3中的input() 一樣,也將輸入解讀為字串。
Python 2.7也包含函式input() ,但它將使用者輸入解讀為Python程式碼,並嘗試執行它們。因此,最好的結果是出現錯誤,指出Python不明白輸入的程式碼;而最糟的結果是,將執行你原本無意執行的程式碼。
如果你使用的是Python 2.7,請使用raw_input() 而不是input() 來獲取輸入。
7.2 while迴圈簡介
7.2.1 使用while迴圈
7.2.2 讓使用者選擇何時退出
中定義了一個退出值,只要使用者輸入的不是這個值,程式就接著執行
7.2.3 使用標誌
定義一個變數,用於判斷整個程式是否處於活動狀態。這個變數被稱為標誌
7.2.4 使用break退出迴圈
要立即退出while 迴圈,不再執行迴圈中餘下的程式碼,也不管條件測試的結果如何,可使用break 語句。
7.2.5 在迴圈中使用continue
continue 語句,讓Python忽略餘下的程式碼,並返回到迴圈的開頭。
7.2.6 避免無限迴圈
active = True while active: message = input("請輸入你的姓名:") if message == "quit": break elif message == "continue": continue else: print("你好," + message)
請輸入你的姓名:chang 你好,chang 請輸入你的姓名:continue 請輸入你的姓名:li 你好,li 請輸入你的姓名:quit Process finished with exit code 0
7.3 使用while迴圈來處理列表和字典
for 迴圈是一種遍歷列表的有效方式,但在for 迴圈中不應修改列表,否則將導致Python難以跟蹤其中的元素。要在遍歷列表的同時對其進行修改,可使用while 迴圈。
通過將while 迴圈同列表和字典結合起來使用,可收集、儲存並組織大量輸入,供以後檢視和顯示。
7.3.1 在列表之間移動元素
7.3.2 刪除包含特定值的所有列表元素
7.3.3 使用使用者輸入來填充字典