如何通过用户输入定义类的实例?

时间:2017-06-06 11:28:22

标签: python class user-input instances

我一直在尝试创建一个程序来计算和记录某些膳食中包含的卡路里,我有一个名为“食物”的类,我想通过用户输入创建实例。我做了很多搜索,但没有找到任何办法。

目前我通过创建列表解决了这个问题,如此;

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。

当然可以通过用户输入创建实例。非常感谢任何解决方案:)

2 个答案:

答案 0 :(得分:0)

不要将其添加到食物列表中,而是将它们添加到词典中。密钥将是食品名称,并且两次插入相同的名称将是一个错误(您必须自己编写代码,因为dict将很乐意覆盖现有项目。)

答案 1 :(得分:0)

使用字典。

foods = {}
food_name = input("Enter the food's name: ")
foods[food_name] = Food(calories, protein, fat, quantity)