Python菜谱菜单选择——文字版

 文字版菜单选择程序:

import random

menu = {
'炒菜':['蒜蓉娃娃菜','鱼香肉丝','酸菜鱼','农家小炒肉','番茄炒蛋','海鲜'],
'面食':['酸辣粉','牛肉拉面','云吞','蒸饺','水饺','炸酱面','肉夹馍'],
'西餐':['汉堡','三明治','牛排','寿司','鸡排','意面']
}    

def judge(choice):
    judgement1 = input('去吃【%s】好不好,同意请输入y/Y:'%(choice))
    if judgement1 == 'y' or judgement1 == 'Y':
        print('好的,我们去吃【%s】,就这么愉快的决定了'%(choice))
        return False
    else:
        print('好吧,既然你不喜欢,那我们重新选择')
        return True

def choose(dict_menu):
    
    print(list(menu.keys()))
    choice0 = True
    
    while choice0:    #选择想吃的种类
        dish_type = random.choice(list(menu.keys()))
        choice0 = judge(dish_type)
        if choice0 == False:
            list_dish = menu[dish_type]
            
            while True:    #选择想吃的某个菜
                dish = random.choice(list_dish)
                choice1 = judge(dish)
                if choice1 == False:
                    break
            return False
    else:
        # print('好吧,既然你不喜欢,我们重新选择')
        return True

def add_choice():
    menu_choice = []
    while True:
        menu_choice.append(input('请输入选项:'))
        flag1 = input('是否继续添加选择项,结束请输入n/N,其他键继续添加')
        if flag1 == 'n' or flag1 == 'N':
            break
    return menu_choice

def main():
    while True:
        reason = input('你不知道吃什么的原因是:1.完全不知道吃什么;2.在几个选择之间徘徊(请输入1或2):')
        if reason == '1':    #在已设定的菜单中选择
            choose(menu)
            return

        elif reason == '2':   #新建备选菜单选择 
            list_choice = add_choice()             
            while True:
                dish = random.choice(list_choice)
                choice = judge(dish)
                if choice == False:
                    break
            return

        else:
            print('抱歉,目前还不支持第三种情况——不过,你可以新增选项哦。')
    
main()
print('完成选择,程序结束')

 

你可能感兴趣的:(Python基础篇,python)