假设我已经有一个名称列表,如果用户输入的名称与列表中的名称不匹配,我想打印“错误”。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'