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
  • 相关阅读:
    cf C. Vasya and Robot
    zoj 3805 Machine
    cf B. Vasya and Public Transport
    cf D. Queue
    cf C. Find Maximum
    cf B. Two Heaps
    cf C. Jeff and Rounding
    cf B. Jeff and Periods
    cf A. Jeff and Digits
    I Think I Need a Houseboat
  • 原文地址:https://www.cnblogs.com/demilyc/p/10018226.html
Copyright © 2011-2022 走看看