对不起,我不太清楚这个问题怎么表达。 我正在制作一个用于烹饪等的草药数据库,并使用python scrip搜索数据库
基本上,我在数据库中有多个条目具有相同或相似的名称(例如西伯利亚人参和人参)。我想打印出所有有名字的条目(如人参),但不确定如何打印
这是我目前的代码:
while True:
herb=input("Herb: ")
database=open("db.txt")
for line in database:
record = line.split('|')
if record[0] == herb:
found = True
break
else:
found = False
continue
if found == False:
print("No herbs in database.")
print('')
else:
print(record[0])
print(record[1])
print(record[2])
print(record[3])
print('')
输出仅显示第一个包含草药(人参)的条目,但是我希望显示所有包含名称的条目。
如果这个问题已经被回答或者我的措辞不正确,我会道歉
它看起来像是你在重复你的记录,当你找到一个匹配的条目时,你就会跳出循环并立即打印出来
您可能需要做的事情是制作一个printHerves函数,该函数接受记录数组并在找到它时打印它,而不是中断循环
此外,如果它们到达循环的末尾,则仅显示not found(未找到)。它可能看起来像这样:
此外,如果您试图匹配一个字符串是否是另一个字符串的子字符串,则可以使用:
.lower()方法将确保在比较两个字符串时它们都是小写的
相关问题 更多 >
编程相关推荐