zoukankan      html  css  js  c++  java
  • Python 三级菜单

    Python 三级菜单

    • 需求

    1. 打印省、市、县三级菜单
    2. 可返回上一级
    3. 可随时退出程序
    • 代码实现
     1 menu = {
     2     '北京':{
     3         '海淀':{
     4             '五道口':{
     5                 'soho':{},
     6                 '网易':{},
     7                 'google':{}
     8             },
     9             '中关村':{
    10                 '爱奇艺':{},
    11                 '汽车之家':{},
    12                 'youku':{},
    13             },
    14             '上地':{
    15                 '百度':{},
    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         },
    51         '大冶':{
    52             '商城':{},
    53             '矿头':{},
    54         },
    55         '黄冈':{
    56             '将军县':{},
    57         },
    58     },
    59 }
    60 
    61 current_level = menu #记录当前循环的层
    62 last_levels = []     #依次把目前进入的层 存入列表
    63 
    64 while True:
    65     for k in current_level: #循环当前层
    66         print(k)
    67     choice = input("请输入地址>>: ").strip()
    68     if choice == 'b':
    69         if len(last_levels) == 0 :break #列表没有层记录 就是顶点层 则退出程序
    70         current_level = last_levels[-1] #当输入 b ,退出时 取出上一层
    71         last_levels.pop() #当返回上一层时 删除记录层级的
    72     elif choice == 'q': #当输入 q ,退出程序
    73         exit()
    74     if choice not in current_level:continue
    75     last_levels.append(current_level) #当前层加入 记录列表
    76     current_level = current_level[choice] #把用户输入的层 加入到当前层 然后循环
    View Code
  • 相关阅读:
    流程控制语句
    VMware虚拟机与Linux Centos7下载及安装教程
    ReduceTask的运行
    Spark最简单基础_欢乐的马小纪
    虚拟机扩容
    centos安装docker
    kafka生产消费者demo
    虚拟机NAT网络
    Spark开发的完整基础_欢乐的马小纪
    centos6 克隆虚机的紧要知识点_____马小纪&
  • 原文地址:https://www.cnblogs.com/zhuzhiwen/p/7507966.html
Copyright © 2011-2022 走看看