python之三级菜单
要求:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
流程图:
代码:

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 district_maps = { #定义字典 6 "华东区":{"山东":["济南","青岛","淄博"],"江苏":["苏州","南京","无锡"],"浙江":["杭州","宁波","温州"],}, 7 "华南区":{"广东":["广州","深圳","珠海"],"广西":["桂林","柳州","北海"],"海南":["三亚","海口","三沙"]}, 8 "华中区":{"湖北":["武汉","宜昌","黄冈"],"湖南":["长沙","株洲","湘潭"],"江西":["南昌","九江","上饶"]}, 9 "华北区":{"北京":["东城区","朝阳区","海淀区"],"天津":["和平区","河西区","河北区"],"河北":["石家庄","唐山","张家口"]}, 10 "西北区":{"宁夏":["银川","吴忠","固原"],"青海":["西宁","海东","海北藏族自治州"],"陕西":["西安","咸阳","延安"]}, 11 "西南区":{"四川":["成都","绵阳","广元"],"云南":["昆明","丽江","玉溪"],"贵州":["贵阳","安顺","铜仁"]}, 12 "东北区":{"辽宁":["沈阳","大连","鞍山"],"吉林":["长春","吉林","辽源"],"黑龙江":["哈尔滨","齐齐哈尔","牡丹江"]}, 13 "港澳台区":{"香港":["香港岛","九龙半岛","新界"],"澳门":["澳门半岛","离岛","路氹城"],"台湾":["台北","台中","台南"]}, 14 } 15 16 def menu(): 17 while True: 18 on = () 19 c = () 20 for i in district_maps: 21 print(i) 22 on = input("请输入地区:") 23 while True: 24 if on in district_maps.keys(): 25 for e in district_maps[on]: 26 print(e) 27 c = input("请输入省份:") 28 if c in district_maps[on]: 29 for d in district_maps[on][c]: 30 print(d) 31 while True: 32 d = input("返回上层请输入b,退出请输入q:") 33 if d == "b": 34 break 35 elif d == "q": 36 print("谢谢使用") 37 exit(0) 38 else: 39 print("输入错误,请重新输入") 40 elif c == "b": 41 break 42 elif c == "q": 43 print("谢谢使用") 44 exit(0) 45 else: 46 print("输入有误,请重新输入") 47 elif on == "q": 48 print("谢谢使用") 49 exit(0) 50 else: 51 print("输入有误,请重新输入") 52 if __name__ == '__main__': 53 menu()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!