python三级菜单练习,,需求:可依次选择进入



需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典技术分享图片
 1 # -*- coding:utf-8 -*- 2 # Author:Xiaorui 3 # 需求: 4 # 可依次选择进入各子菜单 5 # 可从任意一层往回退到上一层 6 # 可从任意一层退出程序 7 # 所需新知识点:列表、字典 8 menu = { 9     ‘北京‘: {10         ‘海淀‘: {11             ‘五道口‘: {12                 ‘soho‘: {},13                 ‘网易‘: {},14                 ‘google‘: {}15             },16             ‘中关村‘: {17                 ‘爱奇艺‘: {},18                 ‘汽车之家‘: {},19                 ‘youku‘: {},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 place_menu = menu52 last_place_layers = []  # 采用列表,目的是之后可以调用列表的pop()方法53 while True:    # while死循环保证非用户退出就一直在循环中,且只使用一次while循环54     for i in place_menu:55         print(i)56     choice = input("请输入地名:").strip()   # strip()方法除去输入俩侧空格57     if not choice:     # 判断用户是否输入的已有地名58         continue59     else:60         pass         # if..else语句完整,便于阅读61     if choice in place_menu:   # 判断用户是否输入的已有地名62         last_place_layers.append(place_menu)   # 运用append()方法保存操作前的一层63         place_menu = place_menu[choice]    # 进入下一层64         if not place_menu:    # 判断是否处在底层,if进行判断时字典空为假,所以此处用not65             print("你已经处在底层,回到上层请输入b,退出请输入p!")66         else:67             pass68     elif choice == "b" or choice == "B":  # 任意层可返回上一层69         if len(last_place_layers) != 0:70             place_menu = last_place_layers.pop()71         else:72             print("目前处于顶层!")73     else:    # 任意层可退出74         if choice == "p" or choice == "P":75             break76         else:77             pass     # PEP8规范pass等不可结尾
View Code

python三级菜单练习

评论关闭