我制作的代码会检查输入的答案,看它是否包含列表中的关键字。
我目前的代码是:
list = ["cool", "yes", "positive", "yeah", "maybe", "possibly"]
a = input ("Input a keyword:")
for item in list:
if item in a:
if item in list[0:3]:
print ("you inputted cool or yes or positive")
else:
print ("You inputted yeah or maybe or possibly")
我遇到问题if item in list[0:3]:
。如果输入索引为0(酷)的第一个关键字,但是如果输入yes或positive,则该程序无效。
为什么这样做?我知道我做错了什么但我在python中没有与列表和元组的交互,因此我对它们了解不多。
感谢。
答案 0 :(得分:0)
虽然您的代码正常运行,但您可以使用elif
语句检查原始关键字列表的[3:]
,例如:
k = ["cool", "yes", "positive", "yeah", "maybe", "possibly"]
m = input ("Input a keyword:")
for i in k:
if i in m:
if i in k[:3]:
print ("you inputted cool or yes or positive")
elif i in k[3:]:
print ("You inputted yeah or maybe or possibly")
else:
print ("You inputted a word not in the keyword list")
这使您可以使用第三个print()
语句捕获输入关键字中没有任何关键字的情况。
您当然可以通过拆分输入消息来反转您的比较逻辑。分割输入消息,因为您无法控制第一个位置输入的单词数,如下所示:
k = ["cool", "yes", "positive", "yeah", "maybe", "possibly"]
m = input ("Input a keyword:")
for i in m.split():
if i in k[:3]:
print ("you inputted cool or yes or positive")
elif i in k[3:]:
print ("You inputted yeah or maybe or possibly")
else:
print ("You inputted a word not in the keyword list")
如果关键字列表大于平均输入消息,则最后一个示例可能更经济,因为它只需要迭代输入消息中的字数。如果输入消息有两个单词,这两个单词都在关键字列表中,这也会被接收。
我对您的其他问题here: How to use lists in conditionals
给出了类似的答案HTH
答案 1 :(得分:-2)
尝试使用raw_input()。 我希望它会对你有所帮助..
a = raw_input(“输入关键字:”)