• 三级菜单


    作业需求:

    数据结构:

    menu = {
    '北京':{
    '海淀':{
    '五道口':{
    'soho':{},
    '网易':{},
    'google':{}
    },
    '中关村':{
    '爱奇艺':{},
    '汽车之家':{},
    'youku':{},
    },
    '上地':{
    '百度':{},
    },
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '北航':{},
    },
    '天通苑':{},
    '回龙观':{},
    },
    '朝阳':{},
    '东城':{},
    },
    '上海':{
    '闵行':{
    "人民广场":{
    '炸鸡店':{}
    }
    },
    '闸北':{
    '火车站':{
    '携程':{}
    }
    },
    '浦东':{},
    },
    '山东':{},
    }

    需求:

      1、可依次选择进入各子菜单

      2、可从任意一层往回退到上一层

      3、可从任意一层退出程序

      4、所需知识点:列表、字典

    直接上代码:

     1 #encoding = 'utf-8'
     2 #python code by zwj
     3 
     4 menu = {
     5     '北京':{
     6         '海淀':{
     7             '五道口':{
     8                 'soho':{},
     9                 '网易':{},
    10                 'google':{}
    11             },
    12             '中关村':{
    13                 '爱奇艺':{},
    14                 '汽车之家':{},
    15                 'youku':{},
    16             },
    17             '上地':{
    18                 '百度':{},
    19             },
    20         },
    21         '昌平':{
    22             '沙河':{
    23                 '老男孩':{},
    24                 '北航':{},
    25             },
    26             '天通苑':{},
    27             '回龙观':{},
    28         },
    29         '朝阳':{},
    30         '东城':{},
    31     },
    32     '上海':{
    33         '闵行':{
    34             "人民广场":{
    35                 '炸鸡店':{}
    36             }
    37         },
    38         '闸北':{
    39             '火车站':{
    40                 '携程':{}
    41             }
    42         },
    43         '浦东':{},
    44     },
    45     '山东':{},
    46 }
    47 
    48 
    49 
    50 current_layer = menu
    51 all_layer = []
    52 while True:
    53     for k in current_layer :  # 打印出key,北京、上海和山东
    54         print(k)
    55     choice = input(">>:").strip()
    56     if choice in current_layer :
    57         all_layer.append(current_layer)
    58         current_layer = current_layer.get(choice)
    59     elif choice == 'b':
    60         if len(all_layer) != 0:
    61             current_layer = all_layer.pop()
    62     elif choice == 'q':
    63         exit()

    完结!欢迎评论交流。

      

  • 相关阅读:
    linux下解压命令大全
    关于一个订单多商品如何发表评价的问题
    浏览器通知
    简易时钟
    微信小程序地图控件篇 自定义图标被地图覆盖的问题
    面向对象拖拽
    elementUI的Dialog弹出框蒙版被遮住
    面向对象轮播图
    高内聚低耦合
    苦逼程序员
  • 原文地址:https://www.cnblogs.com/NuoMiGao/p/9856672.html
Copyright © 2020-2023  润新知