多级菜单(高效版)
Readme文件:
| -----------------------------| | 程序名称:三级菜单层级切换 | | -----------------------------| 细节功能: 1.用户输入当前层选项并回车后,进入下一层 2.本程序总共三层 3.每次按b可以返回上一层 4.本程序特点是每循环一次后将值再赋于自己重新循环,从而实现简短代码实现多级菜单操作 -------------------------------------------------------------------------------- 程序运行: 1. 运行前需要menu.txt文件存在(即三级菜单文件,其存储格式为字典) 2. 直接运行Third_menu程序即可 -------------------------------------------------------------------------------- ####################################### 作者:王承祥 联系方式1:13552310609 联系方式2:dslmoon@163.com 我的博客:https://www.cnblogs.com/wangcx #######################################
menu文件:
{"广州": {'天河': ['天河体育馆', '金山大夏'],'越秀': ['越秀公园', '光孝寺'],'番禺': ['长隆欢乐世界', '大夫山']},"深圳": {'福田': ['莲花山', '赛格'],'龙华': ['元山公园', '龙城广场'],'南山': ['世界之窗', '欢乐谷']},"佛山": {'禅城': ['梁园', '孔庙'],'南海': ['千灯湖', '南国桃园'],'顺德': ['清晖园', '西山庙']}}
Third_menu文件(主程序):
# -*-coding:utf-8-*- # _Author_:George level = [] with open("menu.txt","r",encoding="utf-8") as f: for line in f: line = eval(line) while True: for key in line: print(key) choice = input("choice>>").strip() if choice == "b": if len(level) == 0: break line=level[-1] level.pop() if len(choice) == 0 or choice not in line: continue level.append(line) line = line[choice]
师傅说赶路要紧