假設我已經有一個名稱列表,如果用戶輸入的名稱與列表中的名稱不匹配,我想打印「錯誤」。python列表中的輸入
我的代碼:
name = ['ali', 'abu', 'amir']
print name
new = raw_input("enter name")
if new == name:
print "correct"
else:
print "wrong"
當我輸入名字「埃米爾」它會打印出「錯誤」,儘管它是在我的名單。
假設我已經有一個名稱列表,如果用戶輸入的名稱與列表中的名稱不匹配,我想打印「錯誤」。python列表中的輸入
我的代碼:
name = ['ali', 'abu', 'amir']
print name
new = raw_input("enter name")
if new == name:
print "correct"
else:
print "wrong"
當我輸入名字「埃米爾」它會打印出「錯誤」,儘管它是在我的名單。
你有更換if new == name:
:
if new in name:
而不是劃等號的新名稱到列表中,你需要檢查它是否在列表。
print 'correct' if new in name else 'wrong'
要檢查的元素在列表中,您可以使用in
操作。
name = ['ali', 'abu', 'amir']
print name
new = raw_input("enter name ")
if new in name: # check 'new' is in the list 'name'
print "correct"
else:
print "wrong"
你做錯了什麼?
當你在做new==name
,你實際上與列表name
這是False
從而打印wrong
每次比較輸入new
。
In [1]: name = ['ali', 'abu', 'amir']
In [2]: new = raw_input("enter name ")
enter name abcd
In [3]: new in name
Out[3]: False 'abcd' is not in the list 'name'
In [4]: new = raw_input("enter name ")
enter name ali
In [5]: new in name
Out[5]: True # 'ali' is in the list 'name'
In [6]: new==name
Out[6]: False # Because comparing 'ali' with list 'name'