测试环境win7,python3.6,pycharm社区版

作业需求:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
   什么也别说了,第一次参加老男孩的Python教学视频,第一次作业,简直就是蒙圈。直接上代码,不要死的太难看。
   
先来个自己写的代码,重复代码太多:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# jzy
menu ={
    "昌平区": {"天通苑":
                    {"家乐福": {}, "物美": {}, "华联": {}},
                "小汤山":
                    {"龙脉温泉": {}, "健身房": {}}},

    "顺义区": {"后沙峪":
                    {"现代汽车": {}, "汇源果汁": {}, "牛栏山二锅头": {}},
                "天竺":
                    {"飞机场": {}, "燕京啤酒": {}}},

    "海淀区": {"雍和宫":
                    {'航星科技园': {}, '天坛庙会': {}, '肯德基': {}},
                "厢红旗":
                    {'香山': {}, '林业科学研究院': {}, '军事科学研究院': {}}}
    }


while True:
    for i in menu:
        print(i)
    num1 = input("请选择:")

    if num1 in menu.keys():
        while True:
            for i in menu[num1]:
               print(i)
            num2 = input("请选择第二层:")
            if num2 in menu[num1]:
                while True:
                    for i in menu[num1][num2]:
                        print(i)
                    num3 = input("请选择第三层:")
                    if num3 in menu[num1][num2]:
                        print("this is you choice")
                        exit()
                    elif num3 == 'b':
                        break
                    elif num3 == 'q':
                        exit()
                    else:
                        continue
            elif num2 == 'b':
                    break
            elif num2 == 'q':
                    exit()
            else:
                continue
    elif num1 == 'q':
        exit()
    else:
        continue

        
        
 看了老师的讲解视频,照着操作一遍:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# jzy
menu ={
    "昌平区": {"天通苑":
                    {"家乐福": {}, "物美": {}, "华联": {}},
                "小汤山":
                    {"龙脉温泉": {}, "健身房": {}}},

    "顺义区": {"后沙峪":
                    {"现代汽车": {}, "汇源果汁": {}, "牛栏山二锅头": {}},
                "天竺":
                    {"飞机场": {}, "燕京啤酒": {}}},

    "海淀区": {"雍和宫":
                    {'航星科技园': {}, '天坛庙会': {}, '肯德基': {}},
                "厢红旗":
                    {'香山': {}, '林业科学研究院': {}, '军事科学研究院': {}}}
    }

level = []
while True:
    for i in menu:
        print(i)
    num = input("请选择:")
    if num == 'b':
        if len(level) == 0:break
        menu=level[-1]
        level.pop()
    if len(num) == 0 or num not in menu: continue
    level.append(menu)
    menu = menu[num]
    看来要学的还有很多,多敲几遍,理解一下吧。