2015-11-29 159 views
-2
user_input = input('How old are you?: ') 
if user_input >= 18: 
    print('You are an adult') 
elif user_input < 18: 
    print('You are quite young') 
except ValueError: 
    print('Please type in an integer') 

它說,在除了的Python除了ValueError異常:

語法錯誤,請幫助。

+0

您只能在'try'中使用'except'。 [見這些Python文檔。](https://docs.python.org/3/tutorial/errors.html#handling-exceptions) –

+0

正如我在你的[上一個問題]中所述(http://stackoverflow.com/questions/33977659/how-do-i-compare-a-string-and-an-integer-in-python),_please閱讀[官方Python教程](https://docs.python.org/3.4/tutorial/index的.html)_。 – TigerhawkT3

+0

會檢查出來,謝謝 – Keretto

回答

1

except不符合if/elif/else。相反,它符合try,如下所示:

user_input = input('How old are you?: ') 
try: 
    age = int(user_input) #this can raise ValueError 
    if age >= 18: 
     print('You are an adult') 
    elif age < 18: 
     print('You are quite young') 
except ValueError: 
    print('Please type in an integer') 
+1

謝謝,但我不明白你的意思是這可以提高ValueError – Keretto

+0

函數'input'返回一個字符串。我添加的行嘗試將用戶鍵入的字符串轉換爲整數。如果輸入無效,這可能會失敗。例如,'int('45')'將返回整數'45',但是'int('sdfsdf')'不會返回任何內容,而是引發'ValueError'異常。 – ferry

+0

非常感謝它的工作 – Keretto