array1=["hello","hi","hey"]
q1=input("say hello-""\n")
answer=q1.split()
if array1[:] in answer:
print("yes")
else:
print("fail")
我正在尝试从用户输入中识别关键字,这是我到目前为止所拥有的。我打算添加更多代码,但我无法完成这部分工作。我认为问题在于:
array1[:]
但是我不确定在括号内放置什么来使代码检查数组中的所有单词以与用户输入的单词进行比较。
我对python很新,希望你能提供帮助。
答案 0 :(得分:2)
print ("yes" if any(x in answer for x in array1) else "fail")
答案 1 :(得分:1)
这应该对你有帮助 -
if any(x in answer for x in array1):
print("yes")
else:
print("fail")
任何(可迭代的,/) 如果可迭代中的任何x的bool(x)为True,则返回True。
答案 2 :(得分:1)
使用set()比较2个列表。
>>> array1 = ["hello","hi","hey"]
>>> answer = ["hi","there"]
>>> set(array1) & set(answer)
{'hi'}
所以这可行:
if len(set(array1) & set(answer))>0:
答案 3 :(得分:0)
array1=["hello","hi","hey"]
q1=input("say hello-""\n")
answer=q1.split()
def check(keywords, words):
for kw in keywords:
if kw in words: return True
return False
if check(array1, answer):
print("yes")
else:
print("fail")
<强>输出强>
say hello-
test no keywords
fail
say hello-
hello world
yes
say hello-
no key words
fail