這裏是我的代碼:爲什麼input()總是返回一個字符串?
age = input("How old are you?: ")
print (age)
print (type(age))
結果:
How old are you?: 35
35
class 'str' <<--- This is problem!
但是,如果我用..
age = int(input("How old are you?: "))
print (age)
print (type(age))
,進入 「亞歷克斯」
How old are you?: alex
Traceback (most recent call last):
File "/Users/kanapatgreenigorn/Desktop/test.py", line 1, in age = int(input("How old are you?: ")) ValueError: invalid literal for int() with base 10: 'alex'
這是驗證的用武之地,如果你問一個年齡,你*希望*一個數字。不要投入輸入,或將其放入try/expect塊,並在類型不是預期的時候返回錯誤。 –
這不是一個有用的東西,而不是一個問題?你想考慮「alex」這個問題的有效答案:「你多大了?」 – trincot
可能要檢出http://stackoverflow.com/questions/354038/how-do-i-check-if-a-string-is-a-number-float-in-python – ToothlessRebel