• python三级菜单


     三级菜单:1.打印省、市、县三级菜单      2.可随时返回上一级      3.可随时退出程序

      北京

    山东

    上海

    >:北京

        朝阳

        昌平

        海淀

    >:昌平

        沙河

        天通苑

     

    >:沙河

        阿泰包子

        b 任何一层输入b,可以返回上一层

        q 退出程序





    menu = {
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车战':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    exit_flag=True             #定义变量条件,改变条件程序结束
    while exit_flag:           #当exit_flag=True时输出menu[key],第一层菜单
        for key in menu:
            print(key)
        choice=input(">:").strip()       #定义变量输入choice
        if choice =='q':                 #当输入“q”退出整个程序
            exit_flag=False
            continue
        if len(choice) == 0:             #当输入变量为空时,结束本次循环,重新开始本层循环
            continue
    
        if choice in menu:               #判断输入变量choice是否在menu中
            while exit_flag:
                net_layer = menu[choice]    #给予menu[choice]定义本层菜单新变量net_layer
                for key2 in net_layer:     #输出第二层菜单
                    print(key2)
                choice2=input(">>:").strip()    #定义变量输入choice2
                if choice2 == "b":              #当输入变量choice2为“b”时,返回结束本层循环,返回上一层循环
                    break
                if choice2=="q":             #当输入“q”退出整个程序
                    exit_flag=False
                    continue
                if len(choice2)==0:           #当输入变量为空时,结束本次循环,重新开始本层循环
                        continue
    
                if choice2 in net_layer:                #判断输入变量choice2是否在net_layer中
                    while exit_flag:
                        net_layer2 = net_layer[choice2]    #给予net_layer[choice2]定义本层菜单新变量net_layer2
                        for key3 in net_layer2:           #输出第三层菜单
                            print(key3)
                        choice3=input(">>>:").strip()     #定义变量输入choice3
                        if choice3=="b":                  #当输入变量choice2为“b”时,返回结束本层循环,返回上一层循环
                            break
                        if choice=="q":                   #当输入“q”退出整个程序
                            exit_flag=False
                            continue
                        if len(choice3)==0:                #当输入变量为空时,结束本次循环,重新开始本层循环
                            continue
    
                        if choice3 in net_layer2:                #判断输入变量choice3是否在net_layer2中
                            net_layer3=net_layer2[choice3]       #给予net_layer2[choice3]定义本层菜单新变量net_layer3
                            for key4 in net_layer3:             #输出第四层菜单
                                print(key4)
    
                            choice4 = input(">>>>:").strip()      #定义变量输入choice3,此处防止上层操作结束后再次循环
                                                                   #此处只要不输入choice4则程序就不会无限循环                                                       
                            if choice4 == 'b': break             
                            if choice4 == 'q':
                                exit_flag = True
                                continue
    
    print("done!")
    

      





    程序运行效果:






  • 相关阅读:
    ...
    RUP,XP,敏捷原理
    JSP的内置对象——SESSION
    JSP的内置对象——REQUEST
    节点属性
    RUP,XP,敏捷原理
    寄存器
    设置背景图片
    Java代码空格问题
    数据库常见错误
  • 原文地址:https://www.cnblogs.com/xuyaping/p/6648170.html
Copyright © 2020-2023  润新知