2017-06-06 79 views
-2

我一直在尝试创建一个程序来计算和记录某些餐食中所含的卡路里,并且我有一个名为'Food'的类,我希望通过用户输入来创建实例。我做了很多搜索,并没有找到任何可以做到的方式。如何通过用户输入定义一个类的实例?

目前我已经通过创建一个列表来解决这个问题,就像这样;

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没有输入。

当然可以通过用户输入创建一个实例。希望任何解决方案! :)

+1

为什么不使用'dict'? – Netwave

+0

我不知道我可以,谢谢! –

回答

0

而不是追加到食品列表,而是将它们添加到字典。关键将是食物名称,并且两次插入相同的名称将是一个错误(您必须自己编码,因为字典会愉快地覆盖现有项目)。

+0

以秒为单位击败我。 – 2017-06-06 11:31:19

0

使用字典。

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

非常感谢。我应该提到,我对编程相当陌生,所以谢谢你回答一个简单的问题。 –

相关问题