python————————2(三级菜单)

#建立一个字典

dq={
    '北京':{
            '东城区':{
                '安定门':{},
                '和平里':{},
                '鼓楼大街':{},
                },
            '西城区':{
                '广安门':{},
                '天桥':{},
                '陶然亭':{},
                },
            '海淀区':{
                '中关村':{},
                '学院路':{},
                '紫竹院':{},
                },
            '朝阳区':{
                '北苑':{},
                '安贞':{},
                '大屯':{},
                },
            },
    '上海':{
            '黄埔区':{
                '红山':{},
                '大沙':{},
                '长洲':{},
                },
            '徐汇区':{
                '天平路':{},
                '枫林路':{},
                '徐家汇':{},
                },
            '长宁区':{
                '华阳路':{},
                '新华路':{},
                '天山路':{},
                },
            '静安区':{
                '江宁路':{},
                '宝山路':{},
                '大宁路':{},
                },
            },
    '天津':{
            '和平区':{
                '小白楼':{},
                '五大道':{},
                '南营门':{},
                },
            '河东区':{
                '大王庄':{},
                '中山门':{},
                '富民路':{},
                },
            '河西区':{
                '大营门':{},
                '下瓦房':{},
                '柳林':{},
                },
            '南开区':{
                '长虹':{},
                '广开':{},
                '万兴':{},
                },
            },
}
#将内容写入字典

exit_key=False
while not exit_key :#exit_key 为真则执行while循环
    print(dq.keys())
    a = str(input("请输入所选地区的数字,输入q退出:\n"))
    while a!="q":
            if a=="1":
                print(dq['北京'].keys())
                b=str(input("输入所选地区的数字,输入b返回上一级,输入q退出\n"))
                if b=="1":
                    print(dq['北京']['东城区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="2":
                    print(dq['北京']['西城区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="3":
                    print(dq['北京']['朝阳区'].keys())
                    c = str(input("输入b返回上一级,输入q退出\n"))
                    if c == "b":
                        continue
                    if c == "q":
                        exit()
                if b=="4":
                    print(dq['北京']['海淀区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="b":
                    break
                if b=="q":
                    exit()
            if a=="2":
                print(dq['上海'].keys())
                b=str(input("输入所选地区的数字,输入b返回上一级,输入q退出\n"))
                if b=="1":
                    print(dq['上海']['黄浦区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="2":
                    print(dq['上海']['徐汇区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="3":
                    print(dq['上海']['长宁区'].keys())
                    c = str(input("输入b返回上一级,输入q退出\n"))
                    if c == "b":
                        continue
                    if c == "q":
                        exit()
                if b=="4":
                    print(dq['上海']['静安区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="b":
                    break
                if b=="q":
                    exit()
            if a=="3":
                print(dq['天津'].keys())
                b=str(input("输入所选地区的数字,输入b返回上一级,输入q退出\n"))
                if b=="1":
                    print(dq['天津']['和平区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="2":
                    print(dq['天津']['河东区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="3":
                    print(dq['天津']['河西区'].keys())
                    c = str(input("输入b返回上一级,输入q退出\n"))
                    if c == "b":
                        continue
                    if c == "q":
                        exit()
                if b=="4":
                    print(dq['天津']['南开区'].keys())
                    c=str(input("输入b返回上一级,输入q退出\n"))
                    if c=="b":
                        continue
                    if c=="q":
                        exit()
                if b=="b":
                    break
                if b=="q":
                    exit()
    else:
        exit()

三级菜单的基本功能可以实现,但是可能会有一些多余的代码,以目前水平并不能去除,输错字符报错的功能也没有实现。

posted @ 2018-03-23 22:03  Rcxer  阅读(133)  评论(0)    收藏  举报