简单三级菜单

版权声明: https://blog.csdn.net/csdnwgf/article/details/79182232

要求:

1、三级菜单。

2、可依次选择进入子菜单。

主要考察字典、列表的使用,返回上一级可用continue/break等语句。

china_map = {
    "华南": {
        "广东": ["广州市", "佛山市", "深圳市", "东莞市"],

        "广西": ["南宁市", "柳州市", "桂林市", "北海市"],

        "海南": ["海口市", "三亚市", "三沙市", "儋州市"]

    },
    "华东": {
        "上海": ["黄浦区", "卢湾区", "徐汇区", "长宁区", "普陀区"],

        "安徽": ["合肥市", "芜湖市", "淮南市", "马鞍山市"],

        "江苏": ["南京市", "无锡市", "徐州市", "常州市", "苏州市"]

    },
    "华北": {
        "北京": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区"],

        "山西": ["太原市", "大同市", "阳泉市", "长治市"],

        "河北": ["石家庄市", "唐山市", "秦皇岛市", "邢台市"]

    },
    "华中": {
        "湖北": ["武汉市", "黄石市", "十堰市", "十堰市"],

        "河南": ["郑州市", "开封市", "洛阳市", "平顶山市"],

        "湖南": ["长沙市", "株洲市", "衡阳市", "邵阳市"]

    },
    "西南": {
        "重庆": ["万州区", "涪陵区", "渝中区", "大渡口区"],
        "四川": ["成都市", "自贡市", "攀枝花市", "德阳市"],
        "贵州": ["贵阳市", "六盘水市", "遵义市", "安顺市"],

    },
    "特别行政区": {
        "香港": ["屯门", "弯仔", "北角", "西贡"],
        "澳门": ["花地玛堂区", "圣安多尼堂区", "大堂区", "望德堂区"],

    },

}

print("欢迎来到大中华地区查询系统地".center(40, '-'))
print("大中华地区一级划分:")
for i in china_map:
    print(i.center(10, ' '))
flage = False

# 输入大区名字,输入3次错误就退出程序
for i in range(3):
    daqu_name = input('\n输入大区名:')
    if daqu_name in china_map:
        gc_name = china_map[daqu_name]
        province_names = gc_name.keys()
        print("大中华地区二级划分:".center(40, '-'))
        for province_name in province_names:
            print(province_name.center(10, ' '))
        while True:
            sheng_name = input('\n输入省名字:')
            if sheng_name in province_names:
                shi_name = china_map[daqu_name][sheng_name]
                print("大中华地区三级划分:".center(40, '-'))
                for shi in shi_name:
                    print(shi.center(10, ' '))
            command = input('b:返回上一级 q:退出')
            if command == 'b':
                continue
            if command == 'q':
                flage = True
                break
    else:
        print('您输入的大区名不存在请重新输入,您还有%d次机会' % (3-i))
    if flage:
        break
else:
    print('输入3次错误,程序退出')


猜你喜欢

转载自blog.csdn.net/csdnwgf/article/details/79182232