使用此功能我写道:
def Dish_get_info() -> Dish:
""" Prompt user for fields of dish; create and return.
"""
print()
return Dish(
input("Please enter the Dish's name: "),
float(input("Please enter the Dish's price: ")),
int(input("Please enter the Dish's calories: ")))
我需要创建一个函数,询问用户是否要添加菜肴。 如果'是',则该函数运行Dish_get_info()并将菜肴(namedtuple已定义)添加到列表中。 如果' no',该功能会打印出列表中已有的所有菜单。
到目前为止我已写过这篇文章了。
def Menu_enter():
while True:
Menu = [ ]
n = input('Do you want to add a dish? ')
if n == 'yes':
d = Dish_get_info()
Menu.append(Dish_str(d))
if n =='no':
print (Menu.append(Dish_str(d)))
break
但我不确定.append()方法适用于此案例
答案 0 :(得分:1)
附加作品,这是你的循环给你带来麻烦。您每次循环时都要重新初始化列表。菜单应该在while循环之外。
def Menu_enter():
Menu = []
while True:
n = input('Do you want to add a dish? ')
if n == 'yes':
d = Dish_get_info()
Menu.append(Dish_str(d))
if n == 'no':
break
print(Menu)