zoukankan      html  css  js  c++  java
  • 写代码:三级菜单

     1 # encoding: utf-8
     2 
     3 ################################################
     4 # Task Name: 三级菜单                           #
     5 # Description:可依次选择进入各子菜单              #
     6 #              可从任意一层往回退到上一层          #
     7 #              可从任意一层退出程序               #
     8 # ##############################################
     9 
    10 menu = {
    11     '北京': {
    12         '海淀': {
    13             '五道口': {
    14                 'soho': {},
    15                 '网易': {},
    16                 'google': {}
    17             },
    18             '中关村': {
    19                 '爱奇艺': {},
    20                 '汽车之家': {},
    21                 'youku': {},
    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 prompt = "请输入菜单名,进入子菜单
     输入'b'回到上级菜单
     输入'q'退出程序:"
    56 current_menu = menu  # 当前菜单
    57 parents_menu = []  # 父菜单
    58 
    59 
    60 while True:
    61     if len(current_menu) == 0:
    62         print('当前菜单为最底层')
    63     for i in current_menu:
    64         print('菜单-->', i)
    65     choice = input(prompt).strip()
    66     if choice in current_menu:
    67         parents_menu.append(current_menu)  # 记录父菜单列表
    68         current_menu = current_menu[choice]  # 当前菜单变为原菜单的子菜单
    69     elif choice == 'b':
    70         if len(parents_menu) != 0:
    71             current_menu = parents_menu.pop()  # 此命令删除最后一个列表元素并返回值给当前菜单 。
    72         else:
    73             print('已到菜单最顶层')
    74     elif choice == 'q':
    75         print('您已退出程序')
    76         break
    77     else:
    78         if choice not in current_menu:
    79             print("错误输入菜单{},请检查从新输入".format(choice))
    80             continue
  • 相关阅读:
    嵌入式GUI FTK介绍(7)主题
    嵌入式GUI FTK介绍(2)两个小应用程序
    嵌入式GUI FTK介绍(8)编译/运行PC模拟版本
    嵌入式GUI FTK介绍(5)在多平台上运行
    嵌入式GUI FTK介绍(4)脚本语言绑定
    嵌入式GUI FTK介绍(3)XML界面描述语言
    活动图
    ASP.NET程序中常用的三十三种代码
    Server的Transfer和Response的Redirect (转)
    .net 点击刷新验证码问题
  • 原文地址:https://www.cnblogs.com/demilyc/p/10018226.html
Copyright © 2011-2022 走看看