【发布时间】:2017-03-05 04:59:52
【问题描述】:
我必须以字符串的形式从用户那里获取输入,然后必须在 JSON 格式的 .txt 文件中搜索它。如果文本匹配,则必须执行 X,否则 Y。例如,如果用户输入“mac”,我的代码应显示包含搜索词“mac”的词条的完整名称。
我的 JSON 文件当前包含巨无霸作为一个项目,当我搜索“mac”时,它什么也没有显示,而它必须显示我(0 巨无霸)。 0 是索引号,也是必需的。
if option == 's':
if 'name' in open('data.txt').read():
sea = input ("Type a menu item name to search for: ")
with open ('data.txt', 'r') as data_file:
data = json.load(data_file)
for line in data:
if sea in line:
print (data[index]['name'])
else:
print ('No such item exist')
else:
print ("The list is empty")
main()
我已经应用了许多解决方案,但没有一个有效。
【问题讨论】:
-
您能否提供(相关行)您的 .txt 文件?
-
if sea in line正在字典列表中搜索一个永远不会匹配的字符串。 -
[{“卡路里”:540,“名称”:“巨无霸”,“碳水化合物”:45,“蛋白质”:25,“脂肪”:29,“胆固醇”:75,“钠”:1040},{“卡路里”:760,“名称”:“Whopper”,“碳水化合物”:53,“蛋白质”:33,“脂肪”:47,“胆固醇”:100,“钠”:1410 }]
-
是的,它正在字典列表中搜索。
-
得到答案后不要更改问题