【发布时间】:2020-05-10 21:19:59
【问题描述】:
我不是 Python 的初学者,但我也不是太有经验。
我正在做一个小项目,我想知道最好的做法是什么。我想制作一个包含不同冷冻食品的食品字典,显示每个条目的营养价值。
Food_Catalog_Frozen.py 中的条目示例如下:
Burrito = {
"calories": 310,
"fats": 14,
"sodium": 330,
"carbohydrates": 35,
"sugars": 1,
"protein": 9,
}
那我想做一个单独的“做什么菜?”用户输入他们吃的所有东西并添加所有值的脚本。
在处理任何分析之前,我想看看是否可以将食物原样打印出来。以下是尝试打印上述卷饼的营养信息的代码。
import Food_Catalog_Frozen as Frozen
print("What's cookin', good lookin'?\n")
STOP = False
while STOP == False:
food = input() # Enter Burrito
if food == "done":
STOP = True
else:
print(Frozen.food)
并抛出以下错误:
print(Frozen.food)
AttributeError: module 'Food_Catalog_Frozen' has no attribute 'food'
主要问题是可变食物,尽管在这个例子中现在被视为卷饼,但字典仍在搜索 Frozen.food 而不是 Frozen.Burrito,它确实有效。似乎无法通过用户输入来搜索字典。
如果有人能说出为什么这不起作用或者是否有更好的方法来做到这一点,我们将不胜感激。谢谢。
【问题讨论】:
-
你能显示你所有的 Food_Catalog_Frozen.py 代码吗?
-
您在 Food_Catalog_Frozen 中哪里可以看到
food属性?做print(Frozen.Burrito) -
墨西哥卷饼行是我到目前为止的所有条目。这就是现在所有的代码。一旦我可以让它工作,我计划添加更多。
-
这能回答你的问题吗? Why dict.get(key) instead of dict[key]?
-
你需要
Frozen.Burrito[food]
标签: python dictionary user-input