我在这里使用.append吗?

时间:2015-11-09 06:01:59

标签: python python-3.x

使用此功能我写道:

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()方法适用于此案例

1 个答案:

答案 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)