gpt4 book ai didi

python - 检查句子输入中的关键字,然后检查Python中的文本文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:07 25 4
gpt4 key购买 nike

我一直在学习Python,但遇到了一些困难。我想制作一个用户可以输入句子的程序。然后,程序将句子拆分,并根据列表检查单词。如果在列表中找到任何单词,则会在文本文件中查找该单词并打印该单词所在文本文件的行。

到目前为止我有这个:

    def getTakeaway():
list = ["pizza", "italian", "chinese", "indian"]
query = input("Please say what take away you'd like").lower()
if set(list).intersection(query.split()):
with open('takeaway.txt') as f:
for line in open('takeaway.txt'):
if query in line:
print (line)
break
else:
print("sorry not found")
getTakeaway()

它适用于单个单词输入,例如“披萨”,但是当搜索“我想要披萨”等输入时,我什么也没有得到。

提前致谢。

编辑:我根据给出的建议将代码更改为:

def getTakeaway():
list = ["pizza", "italian", "chinese", "indian"]
query = input("Please say what take away you'd like").lower()
query_words = set(list).intersection(query.split())
if query_words:
with open('takeaway.txt') as f:
for line in open('takeaway.txt'):
if query_words in line:
print (line)
break
else:
print("sorry not found")
getTakeaway()

我收到此错误:如果 query_words 在行中:类型错误:“in”需要字符串作为左操作数,未设置

最佳答案

在行

if query_words in line:

您正在使用包含 set(['i', 'would', 'like', 'some', 'pizza']) 的集合。表达式“行中查询”现在将从行中查找集合。您需要迭代集合中的值,就像迭代文件中的行一样:

for word in query_words:
if word in line:
...

关于python - 检查句子输入中的关键字,然后检查Python中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33723669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com