可能重複:
Python - How to check if input is a number (given that input always returns strings)防止輸入字母
我需要檢查一個輸入,如果它不是數字發送一個錯誤信息。我將如何做到這一點最好的方式?不能似乎找到任何其他職位關於它你是否確實有人必須問這個問題之前。
可能重複:
Python - How to check if input is a number (given that input always returns strings)防止輸入字母
我需要檢查一個輸入,如果它不是數字發送一個錯誤信息。我將如何做到這一點最好的方式?不能似乎找到任何其他職位關於它你是否確實有人必須問這個問題之前。
if not value.isdigit():
raise ValueError("Input must be numeric")
@ TokenMacGuy的解決方案是更好的,如果你從raw_input()
讓你的輸入,但除此之外,這個工程。
如果你想循環,直到你得到正確的輸入,而不是產生一個錯誤,試試這個:
value = input("Input: ")
while not value.isdigit():
input("Input must be numeric, please reenter: ")
編輯:
>>> while True:
... try:
... result = int(raw_input("Enter a Number: "))
... break
... except ValueError:
... print "Input must be a number"
...
Enter a Number: abc
Input must be a number
Enter a Number: def
Input must be a number
Enter a Number: 123
>>> result
123
>>>
可以使用的ISDIGIT函數測試字符串是所有的數字,而不是空:
val = '255'
val.isdigit()
while True:
user_input = raw_input("> Please enter a number:")
try:
n = float(user_input)
except ValueError:
continue
else:
break
我'使用輸入(),但事情是我需要的信息是「輸入必須是數字,請重新輸入:」 – Sergei
@Sergei看到我的更新 –
謝謝,這正是我一直在尋找。 – Sergei