暫停程式 等待使用者輸入 Python使用者輸入

2021-10-15 00:25:29 字數 3205 閱讀 8179

大多數程式都旨在解決終端使用者的問題,為此就需要獲取使用者的資訊。假如你要判斷小孩是否需要購買全價票,就需要獲取小孩的身高,這樣才能得出正確的結論。因此這種程式就需要讓使用者輸入其身高,再與規定的身高值進行比較,最後得出結果。

python使用函式input()接受使用者輸入。從此刻開始,我們一起學習怎樣使用函式input()。

1.函式input()的工作原理

函式input()讓程式暫停,等待使用者輸入一些文字。獲取使用者輸入以後,python將其儲存在乙個變數中,以方便使用。

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

parrot.py

message = input("tell me something, and i will repeat it back to you: ")

print(message)

函式input()首先向使用者展示一系列提示或說明(雙引號內的內容),告訴使用者應該如何去做。python在執行第一行**時,使用者會看到提示tell me something, and i will repeat it back to you:。等使用者輸入並按回車,輸入的內容將被儲存在變數message中。接著列印出使用者的輸入:

1.1 編寫清晰的程式

當你使用函式input()時,應當通過提示語告訴使用者你希望獲得什麼資訊,所以提示語應當清晰明確。比如你要獲取使用者的名字:

greeter.py

name = input("please enter you name: ")

print("hello, " + name + "!")

輸出結果為:

please enter you name: eric

hello, eric!

有時候你的提示可能超過一行,比如你在獲取使用者姓名時告訴他們你這樣做的原因是什麼。這種情況下,你可先將提示存在乙個變數中,再將變數傳遞給函式input()。這樣即便提示有好幾行,仍舊十分清晰。

在這個例項中,第一行將訊息的前半部分儲存在變數prompt中;第二行,運算子 "+=" 在prompt的末尾附加乙個字串。

最終的提示橫跨兩行:

if you tell us who you are, we can personalize the message you see.

what's your name?eric

hello, eric!

1.2 使用int()來獲取數值輸入

使用函式input()時,實際上會將所有的輸入預設為是字串,即使你輸入乙個數字依舊會被python當作字串處理。比如下面這種情況:

上面這種錯誤發生原因在於,input()函式返回的'21'是乙個字串,而程式錯誤的將字串與數值進行比較,因此會使得python不清楚程式的含義是什麼。

這時我們只需使用函式int(),它讓python將輸入視為數值,也就是將數字的字串轉換為數值表示,如下所示:

>>>age = input("how old are you?")

how old are you?21

>>>age = int(age)

>>>age >= 18

true

所以今後編寫程式時,一定要注意某一數字的含義是字串還是數值,如果需要將數字字串轉換為數值,只要使用函式int()就可以。

1.3 求模運算子

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

>>>4%3

>>>5%3

>>>6%3

>>>7%3

因此你也可以使用求模運算子判斷輸入的數值是奇數還是偶數:

偶數可以被2整除,餘數為0,否則即為奇數。最後的輸出結果為:

增強程式可用性 關於程式的使用者錯誤輸入的處理

num int input 請輸入乙個三位數 a num 100 百位 b num 10 10 十位 c num 10 個位 if num pow a,3 pow b,3 pow c,3 print d是水仙花數 num else print d不是水仙花數 num 下面給出兩組輸出樣例 請輸入乙個...

Java中編寫互動程式時, 如何處理使用者輸入錯誤

在編寫互動程式時,有時會需要使用者輸入資訊,如果使用者輸入資料的型別與程式要求輸入的型別不匹配,該如何處理?scanner物件提供了hasnextint hasnextdouble等方法可以告訴你下乙個要讀取的資料是否為int或者double型別。處理使用者資料錯誤 while 使用者輸入的資料型別...

當使用者輸入的內容不是程式設計師期待的內容怎麼辦?

針對這個問題,其實很好處理,但是多多少少也需要使用者的配合,as we all know,任何程式都不可能是絕對完美的,廢話不多說直接上 include stdio.h intmain 你在寫 的時候讓使用者輸入是不是總是這樣子?求爺爺喊奶奶,一旦輸入的數字不合格或者根本不是數字的時候,將會面臨 災...