zoukankan      html  css  js  c++  java
  • 五级菜单

    #要求:
    # 打印省、市、县、镇、村五级菜单
    # 可返回上一级
    # 可随时退出程序

    menu = {
        '贵州':{
            '凯里':{
                '剑河':{
                    '革东':{},
                    '柳川':{},
                    '南哨':{
                        '高定':{},
                        '乌沙':{},
                        '翁座':{}
                    }
                },
                '黎平':{
                    '德化':{},
                    '尚重':{},
                    '大架':{},
                },
                '榕江':{
                    '朗洞':{},
                    '平江':{},
                    '两汪':{}
                },
            },
            '遵义':{
                '金沙':{
                    '柳塘':{},
                    '龙坝':{},
                },
                '仁怀':{
                    '茅台':{}
                },
                '开阳':{},
            },
            '安顺':{},
            '兴义':{},
            '都匀':{},
            '六盘水':{}
        },
        '上海':{
            '闵行':{
                "漕宝路":{
                    '金泰公寓':{},
                    '三佳花苑':{}
                }
            },
            '徐汇':{
                '徐家汇':{
                    '汇金百货':{}
                },
                '上海体育馆':{},
                '交通大学':{},
                '上海图书馆':{}
            },
            '静安':{},
            '浦东':{},
            '黄浦':{},
            '普陀':{},
            '松江':{},
            '青浦':{},
            '金山':{}
        },
        '浙江':{
            '杭州':{},
            '金华':{},
            '宁波':{},
            '绍兴':{},
            '嘉兴':{}
        },
    }
    
    
    
    tag=True
    while tag:
        menu1=menu
        for key in menu1: # 打印第一层
            print(key)
    
        choice1=input('第一层>>: ').strip() # 选择第一层
    
        if choice1 == 'a': # 输入a,则返回上一级
            break
        if choice1 == 'b': # 输入b,则退出整体
            tag=False
            continue
        if choice1 not in menu1: # 输入内容不在menu1内,则继续输入
            continue
    
        while tag:
            menu_2=menu1[choice1] # 拿到choice1对应的一层字典
            for key in menu_2:
                print(key)
    
            choice2 = input('第二层>>: ').strip()
    
            if choice2 == 'a':
                break
            if choice2 == 'b':
                tag = False
                continue
            if choice2 not in menu_2:
                continue
    
            while tag:
                menu_3=menu_2[choice2]
                for key in menu_3:
                    print(key)
    
                choice3 = input('第三层>>: ').strip()
                if choice3 == 'a':
                    break
                if choice3 == 'b':
                    tag = False
                    continue
                if choice3 not in menu_3:
                    continue
    
                while tag:
                    menu_4=menu_3[choice3]
                    for key in menu_4:
                        print(key)
    
                    choice4 = input('第四层>>: ').strip()
                    if choice4 == 'a':
                        break
                    if choice4 == 'b':
                        tag = False
                        continue
                    if choice4 not in menu_4:
                        continue
    
                    while tag:
                        menu_5 = menu_4[choice4]
                        for key in menu_5:
                            print(key)
    
                        choice5 = input('第五层>>: ').strip()
                        if choice5 == 'a':
                            break
                        if choice5 == 'b':
                            tag = False
                            continue
                        if choice5 not in menu_5:
                            continue
    
                        while tag:
                            menu_6 = menu_5[choice5]
                            for key in menu_6:
                                print(key)
    
                            choice6 = input('第四层>>: ').strip()
                            if choice6 == 'a':
                                break
                            if choice6 == 'b':
                                tag = False
                                continue
                            if choice6 not in menu_6:
                                continue
    
            # 第六层内没数据了,无需进入下一层
    
    
    
     
  • 相关阅读:
    一天摄入多少蛋白质比较合理?
    给函数添加元数据(python)
    反转链表(C++实现)
    删除链表的中间节点(C++实现)
    在双向链表中删除倒数第K个链表节点(C++实现)
    在单链表中删除倒数第K个节点(C++实现)
    二叉树的创建及遍历(递归和非递归C++实现)
    删除排序数组中的重复项(C++实现)
    打印两个有序链表的公共部分(C++实现)
    用一个栈实现另一个栈的排序(C++实现)
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/13377177.html
Copyright © 2011-2022 走看看