data = {
    ‘浙江‘:{
        "绍兴":{
            "柯桥":["A","B"],
            "上虞":["C","D"]
        },
        "杭州":{
            "萧山":["E","F"],
            "余杭":{"G","H"},
            "下沙":{"X","Y"},
        },
        "温州":{},
    },
    ‘山东‘:{
        "德州":{},
        "青岛":{},
        "济南":{}
    },
    ‘广东‘:{
        "东莞":{},
        "常熟":{},
        "佛山":{},
    },
}
mark=False
while not mark:
    for i in data:
        print (i)
    choice1=input(‘第一层选择>>‘)
    if choice1 in data:
        while not mark:
            for i in data[choice1]:
                print (i)
            choice2=input(‘第二层选择>>‘)
            if choice2 in data[choice1]:
                while not mark:
                    for i in data[choice1][choice2]:
                        print (i)
                    choice3=input(‘第三层选择>>‘)
                    if choice3 in data[choice1][choice2]:
                        while not mark:
                            for i in data[choice1][choice2][choice3]:
                                print (i)
                            choice4=input(‘第四层选择>>‘)
                            if choice4==‘b‘:
                                break
                            if choice4==‘q‘:
                                mark=True
                    if choice3==‘b‘:
                        break
                    if choice3==‘q‘:
                        mark=True
            if choice2==‘b‘:
                break
            if choice2==‘q‘:
                mark=True
    if choice1==‘b‘:
        break
    if choice1==‘q‘:
        mark=True原文:https://www.cnblogs.com/zhangtianxia/p/8999139.html