2015-09-26 92 views
0

假设我已经有一个名称列表,如果用户输入的名称与列表中的名称不匹配,我想打印“错误”。python列表中的输入

我的代码:

name = ['ali', 'abu', 'amir'] 
print name 

new = raw_input("enter name") 
if new == name: 
    print "correct" 
else: 
    print "wrong" 

当我输入名字“埃米尔”它会打印出“错误”,尽管它是在我的名单。

回答

1

你有更换if new == name:

if new in name: 
0

而不是划等号的新名称到列表中,你需要检查它是否在列表

print 'correct' if new in name else 'wrong' 
0

要检查的元素在列表中,您可以使用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'