代码改变世界

三级目录练习

2017-12-10 14:54  龙武大帝  阅读(138)  评论(0)    收藏  举报

一、作业要求

  • 三级菜单
  • 可依次选择进入各子菜单
  • 所需新知识点:列表、字典

二、菜单文件

three_level.txt

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

三、流程图

四、代码(环境:python3.5 mac)

while True:
    f = open("three_level.txt",'r+')
    f1 = str(f.read())
    data = eval(f1)
    for i in data:
        print(i)
    choice = input(">>>请输入省份或直辖市: ")
    if choice in data:
        while True:
            for k in data[choice]:
                print('\t',k)
            choice2 = input(">>>请输入区县: ")
            if choice2 in data[choice]:
                while True:
                    for n in data[choice][choice2]:
                        print('\t\t',n)
                    choice3 = input(">>>请输入商店: ")
                    if choice3 in data[choice][choice2]:
                        for i4 in data[choice][choice2][choice3]:
                            print('\t\t\t',i4)
                            choice4 = input(">>>最后一层,按b返回,按'q'退出: ")

                            if choice4 == 'b':
                               pass
                            elif choice4 == 'q':
                                exit(0)
                            else:
                                exit("你输入的不正确,程序退出")

                    elif choice3 == 'b':
                        break
                    else:
                        exit("你输入的不正确,程序已经退出")
            elif choice2 == 'b':
                break

    else:
        print("你输入的省份或者直辖市不正确,请重新输入。")
三级菜单code