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()

 

posted @ 2017-12-18 16:21  怪兽蜀黍  阅读(212)  评论(0)    收藏  举报