2016-09-01 78 views
1

我想讓用戶輸入一個介於1和6之間的數字,並且還處理它們是否放入非整數。這是我的代碼到目前爲止,但似乎無法讓它正常工作。我嘗試了一切可能的例外情況,如果其他語句在函數中運行,但沒有運氣讓它起作用:(請幫助。我有一部分工作,但當我要求他們再次輸入數字時,知道如何編寫它正確,因此例外繼續工作。我把例外,因爲他們沒有工作。在此先感謝在處理異常時獲取範圍內的用戶輸入

user_choice = int(input("Enter your choice: ")) 

if user_choice <= 6 and user_choice >= 1: 
    return user_choice 

else: 
    print("Invalid menu option.") 
    user_choice = int(input("Please try again: ")) 
    return user_choice 
+1

是什麼你返回user_choice到?返回是用來返回一個函數的東西 - 試試打印代替 –

+0

到另一個函數,我知道代碼的作品,它是強制t它不處理它需要的例外,例如,如果用戶輸入一個字母,它也需要再次詢問。如果我輸入k它只是給出一個python錯誤。我需要它說無效的菜單選項,並要求用戶再試一次。 –

回答

0
user_choice = input("Enter your choice: ") 

try: 
    user_int = int(user_choice) 
except ValueError as e: 
    # user didn't enter an integer! 
    print("Please enter an integernext time") 

if user_choice <= 6 and user_choice >= 1: 
    print(user_choice) 

這應該說明的try/except子句。

+0

OP想試試/除了ValueError – Li357

+0

噢,我修改了它。 –

+0

謝謝安德魯,它不是很好得到-1當人給它沒有正確讀我的問題........ –