如何将列表中的所有数字相乘以显示新列表?

时间:2014-04-23 22:08:30

标签: python list

好的,这非常重要,我只需要有人来帮助我。我对python很陌生,所以有很多事情我都无法理解。

我正在编写一个程序,要求用户输入食谱名称及其服务的人数。

然后,它要求用户输入有关成分的信息。我这样做是通过创建一个列表,如下所示。

ingredients = []
while True:
 ingredient_name = input("Name your ingredient: ")
 ingredient_quantity: int(input("Write the quantity of your ingredient: "))
 ingredient_unit = input("Write the unit of your ingredient: ")
 ingredients.append((ingredient_name, ingredient_quantity, ingredient_unit))

 cont = input("Continue adding ingredients? [y/n]")
 all_ingredients = " ".join(str(v) for v in ingredients)
 if not cont.lower() in ("y","yes"):
     break

然后程序显示创建的列表。但是,我希望能够要求用户为配方输入新的人数,然后乘以列表的成分数量新号码,为新人数显示新列表

我完全不知道如何做到这一点,如果有人能够解释它会对我有帮助!此外,对不起,如果这是模糊或不清楚,我已尽力以最好的方式解释它。

1 个答案:

答案 0 :(得分:1)

这就是列表推导的内容。元组拆包也非常有用。

new_ingredients = [(name, quantity*multiplier, unit) for name,quantity,unit in ingredients]