我正在努力让这个程序工作:我有两个列表“a”和“b”,我必须输入一个出现在两个列表中的单词,在这种情况下是“cat”,但它确实不接受猫并说它是错的。请帮忙!
a=['bird', 'cat', 'dog']
b=['cat', 'mouse','hamster']
print(a,b)
same=(set(a) & set(b))
guess=input("what word is the same in both lists ?")
if guess=='same':
print ("well done")
else:
print ("wrong")
答案 0 :(得分:2)
我认为您正在尝试检查字符串guess
是否是集合same
的元素。如果您正在尝试这样做,则应使用in
运算符,如下所示:
if guess in same:
print ("well done")
else:
print ("wrong")
答案 1 :(得分:0)
set(a) & set(b)
返回一个包含一个元素的集合,但您将guess
与字符串进行比较。您不想查看用户是否输入了"same"
,您想要查看他输入的内容是否是集合same
内的字符串。一种可能性是if set([guess]) == same
。
另外,如果您使用的是Python 2,则应使用raw_input
而不是input
来将输入作为字符串。
答案 2 :(得分:0)
不检查字符串“same”上的相等性,但是在变量名上相同。另外,'same'是一个集合,因此要检查是否在该集合中使用if guess in same: