我一直在尝试创建一个程序来计算和记录某些膳食中包含的卡路里,我有一个名为“食物”的类,我想通过用户输入创建实例。我做了很多搜索,但没有找到任何办法。
目前我通过创建列表解决了这个问题,如此;
ingredients.append(Food(food_name, calories, protein, fat, quantity))
问题是我现在必须通过该列表中的索引来引用食物,而不是名称,这可能在程序的后期不方便。
我想做这样的事情;
food_name = input("Enter the food's name: ")
food_name = Food(calories, protein, fat, quantity)
但是这只是在没有输入的情况下重新分配变量food_name。
当然可以通过用户输入创建实例。非常感谢任何解决方案:)
答案 0 :(得分:0)
不要将其添加到食物列表中,而是将它们添加到词典中。密钥将是食品名称,并且两次插入相同的名称将是一个错误(您必须自己编写代码,因为dict将很乐意覆盖现有项目。)
答案 1 :(得分:0)
使用字典。
foods = {}
food_name = input("Enter the food's name: ")
foods[food_name] = Food(calories, protein, fat, quantity)