好的,这非常重要,我只需要有人来帮助我。我对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
然后程序显示创建的列表。但是,我希望能够要求用户为配方输入新的人数,然后乘以列表的成分数量新号码,为新人数显示新列表。
我完全不知道如何做到这一点,如果有人能够解释它会对我有帮助!此外,对不起,如果这是模糊或不清楚,我已尽力以最好的方式解释它。
答案 0 :(得分:1)
这就是列表推导的内容。元组拆包也非常有用。
new_ingredients = [(name, quantity*multiplier, unit) for name,quantity,unit in ingredients]