Python三级菜单
作业需求:
- 运行程序输出第一级菜单
- 选择一级菜单某项,输出二级菜单,同理输出三级菜单
- 菜单数据保存在文件中
- 让用户选择是否要退出
- 有返回上一级菜单的功能
流程图:

菜单文件:
{ '浙江省':{ "杭州市":{ "上城区", "下城区", "西湖区" }, "金华市":{ "婺城区", "金东区", "东阳市" }, "温州市":{ "鹿城区", "龙湾区", "瓯海区" }, }, '江苏省':{ "南京市":{ "玄武区", "秦淮区", "建邺区" }, "苏州市":{ "虎丘区", "吴中区", "相城区" }, "淮安市":{ "清河区", "淮安区", "淮阴区" }, }, '福建省':{ "福州市":{ "鼓楼区", "台江区", "仓山区" }, "厦门市":{ "思明区", "海沧区", "湖里区" }, "三明市":{ "梅列区", "三元区", "明溪县" } } }
代码:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Lou file = open("zhejiang_menu.txt",'r',encoding='utf-8') # 打开3级菜单文本文件 f = file.read() for line in f: # 读取文件中每行信息 file_str = str(f) # 将每行信息转成字符串格式 data = eval(file_str) # 字符串转成字典格式 jump = True #跳出循环直至退出程序 print("特别提醒:选‘q’退出;选‘b’返回上一级菜单!!") while jump == True: for i in data: print(i) choice = input("请选择进入:") if choice in data: while jump == True: for i1 in data[choice]: print(i1) choice1 = input("请选择进入:") if choice1 in data[choice]: while jump == True: for i2 in data[choice][choice1]: print(i2) choice2 = input("请选择退出或返回上一菜单:") if choice2 == 'q': jump = False elif choice2 == 'b': break else: print("选择错误请重新选择:") elif choice1 == 'q': jump = False elif choice1 == 'b': break else: print("选择错误请重新选择:") elif choice == "q": jump = False else: print("选择错误请重新选择:") print ("退出程序...") file.close()

浙公网安备 33010602011771号