• 🐍Python三级菜单作业实现


    数据结构:

     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 }

    作业需求:

    • 可依次选择进入各子菜单
    • 可从任意一层往回退到上一层
    • 可从任意一层退出程序
    • 所需知识点:列表、字典

    源代码:

      1 msg =  {
      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 tag=True
     46 while tag:
     47     for name1 in msg.keys():
     48         print(name1)
     49     sheng1 = input('1请输入省份>>:').strip()
     50     if sheng1 not in msg:
     51         print('暂无此省份,持续更新中。。。')
     52         continue
     53     while tag:
     54         for name2 in msg[sheng1]:
     55             print('%s' % (name2))
     56         sheng2 = input('2请输入省份>>:').strip()
     57         if sheng2 not in msg[sheng1]:
     58             print('暂无此省份,持续更新中。。。')
     59             user = input('退出菜单“Q”/返回上一层“E”\n继续则输入其他任意字符>>:').strip()
     60             if user.lower() == 'q':
     61                 tag = False
     62                 break
     63             elif user.lower() == 'e':
     64                 break
     65             else:
     66                 continue
     67         while tag:
     68             for name3 in msg[sheng1][sheng2]:
     69                 print('%s' % (name3))
     70             sheng3 = input('3请输入省份>>:').strip()
     71             if sheng3 not in msg[sheng1][sheng2]:
     72                 print('暂无此省份,持续更新中。。。')
     73                 user = input('退出菜单“Q”/返回上一层“E”\n继续则输入其他任意字符>>:').strip()
     74                 if user.lower() == 'q':
     75                     tag = False
     76                     break
     77                 if user.lower() == 'e':
     78                     break
     79                 else:
     80                     continue
     81             while tag:
     82                 for name4 in msg[sheng1][sheng2][sheng3]:
     83                     print('%s' % (name4))
     84                 sheng4 = input('4请输入省份>>:').strip()
     85                 if sheng4 not in msg[sheng1][sheng2][sheng3]:
     86                     print('暂无此省份,持续更新中。。。')
     87                     user = input('退出菜单“Q”/返回上一层“E”\n继续则输入其他任意字符>>:').strip()
     88                     if user.lower() == 'q':
     89                         tag = False
     90                         break
     91                     if user.lower() == 'e':
     92                         break
     93                     else:
     94                         continue
     95                 while tag:
     96                     for name5 in msg[sheng1][sheng2][sheng3][sheng4]:
     97                         print('%s' % (name5))
     98                     user = input('退出菜单“Q”/返回上一层“E”\n继续则输入其他任意字符>>:').strip()
     99                     if user.lower() == 'q':
    100                         tag = False
    101                         break
    102                     if user.lower() == 'e':
    103                         break
    104                     else:
    105                         continue

     测试:

  • 相关阅读:
    Matrix Walk CodeForces
    String Typing CodeForces
    Zebras CodeForces
    【OCP-12c】2019年CUUG OCP 071考试题库(74题)
    【OCP-12c】2019年CUUG OCP 071考试题库(73题)
    【OCP题库-12c】最新CUUG OCP 071考试题库(72题)
    【OCP题库-12c】最新CUUG OCP 071考试题库(71题)
    【OCP题库-12c】最新CUUG OCP 071考试题库(70题)
    【OCP题库-12c】最新CUUG OCP 071考试题库(69题)
    【OCP题库】最新CUUG OCP 12c 071考试题库(68题)
  • 原文地址:https://www.cnblogs.com/songhaixing/p/11876196.html
Copyright © 2020-2023  润新知