【问题标题】:How to define an instance of a class by user input?如何通过用户输入定义类的实例?
【发布时间】:2017-06-06 11:28:22
【问题描述】:

我一直在尝试创建一个程序来计算和记录某些膳食中包含的卡路里,并且我有一个名为“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。

当然可以通过用户输入创建实例。将不胜感激任何解决方案! :)

【问题讨论】:

  • 为什么不使用dict
  • 我不知道我可以,谢谢!

标签: python class user-input instances


【解决方案1】:

不是附加到食物列表,而是将它们添加到字典中。关键是食物名称,两次插入相同的名称会出错(您必须自己编写代码,因为 dict 会很高兴地覆盖现有项目)。

【讨论】:

  • 秒杀我。
【解决方案2】:

使用字典。

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

【讨论】:

  • 非常感谢。我应该提一下,我对编程很陌生,所以感谢您回答一个简单的问题!
猜你喜欢
  • 2015-11-04
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 2017-09-30
  • 1970-01-01
  • 2019-12-06
  • 2010-11-14
  • 2015-01-11
相关资源
最近更新 更多