2015-12-24 115 views
-2
numbers = [1,2,3,4,5,6,7] 
x = input() 
if x in numbers: 
    print("Hey you did it") 
else: 
    print("Nope") 

我不知道我在做什麼錯在這裏,但它總是告訴我,我的號碼不在列表中..即使它是。雖然,可以很好地與字符串配合檢查輸入是否在Python中的數字列表

幫助將不勝感激。謝謝!

+1

python 3 or python 2? – vks

+0

你的代碼在Python 2中工作,我剛剛測試過。 – Arc676

+0

我正在使用Python 3.5.1 – Mothrakk

回答

5

輸入是一個字符串,因此您將字符串與整數進行比較。首先轉換爲int然後執行成員測試:

numbers = [1,2,3,4,5,6,7] 
x = input() 
if int(x) in numbers: 
    print("Hey you did it") 
else: 
    print("Nope") 

爲了使這稍微健壯,你應該處理,如果用戶沒有輸入一個整數(總有一個用戶誰將會進入'時將發生的ValueError芝士漢堡'而不是數字):

numbers = [1,2,3,4,5,6,7] 
x = input() 
try: 
    i = int(x) 
    if i in numbers: 
     print("Hey you did it") 
    else: 
     print("Nope") 
except ValueError: 
    print("You did not enter a number") 
+0

它的工作原理,謝謝! – Mothrakk

+0

@Mothrakk很高興聽到這個消息。如果這完全解決了您的問題,請將其標記爲已接受的答案,以便其他用戶知道問題已解決。 – Dan

+0

老實說,''重複''標籤已經讓其他用戶知道問題已經解決了(這也是一個非常常見的問題)。 – TigerhawkT3

相關問題