首页 > 代码库 > 作业-三级菜单

作业-三级菜单

三级菜单:

1. 运行程序输出第一级菜单

2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

3. 菜单数据保存在文件中

4. 让用户选择是否要退出

5. 有返回上一级菜单的功能

 

技术分享

 

菜单数据 menu.txt内容:

{‘北京‘: {‘海淀‘: {‘五道口‘: {‘soho‘: {}, ‘网易‘: {}, ‘google‘: {}}, ‘中关村‘: {‘爱奇艺‘: {}, ‘汽车之家‘: {}, ‘youku‘: {}}, ‘上地‘: {‘百度‘: {}}}, ‘昌平‘: {‘沙河‘: {‘老男孩‘: {}, ‘北航‘: {}}, ‘天通苑‘: {}, ‘回龙观‘: {}}, ‘朝阳‘: {}, ‘东城‘: {}}, ‘上海‘: {‘闵行‘: {‘人民广场‘: {‘炸鸡店‘: {}}}, ‘闸北‘: {‘火车战‘: {‘携程‘: {}}}, ‘浦东‘: {}}, ‘山东‘: {}}

代码内容:

# 三级菜单:
# 1. 运行程序输出第一级菜单
# 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
# 3. 菜单数据保存在文件中
# 4. 让用户选择是否要退出
# 5. 有返回上一级菜单的功能
#打开文件,并将文件转换为字典
with open("menu.txt","r",encoding="utf-8") as f:
    f_str = f.readline()         #将文件内容转换为字符串
#将字符串转换为字典
menu = eval(f_str)

exit_flag = False
while not exit_flag:
    for i in menu:
        print(i)

    choice = input("请选择省份直辖市:")
    if choice in menu:
        while not exit_flag:
            for i2 in menu[choice]:
                print(i2)
            choice2 = input("请选择镇区>>>")
            if choice2 in menu[choice]:
                while not exit_flag:
                    for i3 in menu[choice][choice2]:
                        print(i3)
                    choice3 = input("请选择小地名>>>")
                    if choice3 in menu[choice][choice2]:
                        for i4 in menu[choice][choice2][choice3]:
                            print(i4)
                        choice4 = input("最后一层>>>按b退出")
                        if choice4== "b":
                            pass
                        elif choice4 == "q":
                            exit_flag = True
                    if choice3 == "b":
                        break
                    elif choice3 == "q":
                        exit_flag = True
            if choice2 == "b":
                 break
            elif choice2 == "q":
                exit_flag = True

 

作业-三级菜单