進入我很新的蟒蛇,我試圖創建使用基於如果一個int輸入(int(input())
)得到正確的輸入類的if語句的程序。例如:如果我有去Var1 = int(input("Enter a number:..."))
輸入,並且用戶輸入hello
那裏,這會,而不是給一個錯誤信息,進入的一個if
聲明的選項之一。如果基於無效類的語句在Python
由於代碼的其餘部分沒有被創建但我不能發表,但我已經試過,我想出瞭解決沒有成功這個問題的所有方面......誰能幫助我請?
進入我很新的蟒蛇,我試圖創建使用基於如果一個int輸入(int(input())
)得到正確的輸入類的if語句的程序。例如:如果我有去Var1 = int(input("Enter a number:..."))
輸入,並且用戶輸入hello
那裏,這會,而不是給一個錯誤信息,進入的一個if
聲明的選項之一。如果基於無效類的語句在Python
由於代碼的其餘部分沒有被創建但我不能發表,但我已經試過,我想出瞭解決沒有成功這個問題的所有方面......誰能幫助我請?
你可以圍繞你輸入一個try..except
塊和捕捉ValueError
時int()
嘗試一個非整數轉換成整數,將會發生:
try:
var1 = int(input("Enter an integer: "))
except ValueError:
print("That's not an integer!")
你甚至可以強制用戶輸入一個整數通過將其放置在一個循環:
var1 = None
while var1 is None:
try:
var1 = int(input("Enter an integer: "))
except ValueError:
print("That's not an integer!")
或者您也可以在以後的時間做檢查:
var1 = input("Enter an integer: ")
try:
var1 = int(var1)
print("Thank you for entering an integer.")
except ValueError:
print("That's not an integer!")
謝謝,它工作正常! –
你可以使用try /除外:
while(True):
try:
var1 = int(input("enter a number: "))
break
except ValueError:
print('it should be a number')
注意:不要使用try /只是沒有Execption類型,如:
try:
printo('hi')
except:
pass
它將所有的除外甚至excetions語法錯誤
我剛剛從zwer得到了同樣的答案,它的工作原理,感謝您的幫助! –
什麼當用戶在這種情況下鍵入「hello」時會發生?你有例外嗎?也許異常處理是前進的方向? – cdarke
檢查'string.isdigit()'或'string.isalpha()'函數。這將解決您的要求。當你鍵入字母,當輸入是一個整數輸入你得到一個錯誤,而是的,我希望能夠在兩種不同勢段來劃分輸入在if語句 – voidpro
@cdarke,一個是如果答案是一個整數如果沒有,另一個。 –