美文网首页
【第57天】python全栈从入门到放弃

【第57天】python全栈从入门到放弃

作者: 36140820cbfd | 来源:发表于2019-08-27 14:54 被阅读0次

一个多级字典的嵌套,输入字典的Key,进入下一个层级,输入b,返回上一层,任何一层输入q,结束。

屌丝方案一:

代码块
menu={
    '浙江省':{

        '杭州市':{
            '拱墅区':{
                '杭州西湖':{},
                '千岛湖':{},
                '西溪湿地':{},

            },
            '余杭区':{

                '公园':{},
                '阿里巴巴':{},
                '网易':{},
            },
            '西湖区':{
                '娃哈哈':{},
                '物产重大':{},
                '磐石':{},
            },
        },
        '绍兴市':{
            '柯桥区':{
                '绍兴西湖':{},
                '绍兴千岛湖':{},
                '绍兴西溪湿地':{},

            },
            '越城区':{

                '绍兴公园':{},
                '绍兴阿里巴巴':{},
                '绍兴网易':{},
            },
            '上虞区':{
                '绍兴娃哈哈':{},
                '绍兴物产重大':{},
                '绍兴磐石':{},
            },
        },
        '台州市':{
            '椒江区':{
                '台州西湖':{},
                '台州千岛湖':{},
                '台州西溪湿地':{},

            },
            '黄岩区':{

                '台州公园':{},
                '台州阿里巴巴':{},
                '台州网易':{},
            },
            '路桥区':{
                '台州娃哈哈':{},
                '台州物产重大':{},
                '台州磐石':{},
            },
        },

    },
    '江苏省':{

        '南京市':{
            '拱墅区':{
                '杭州西湖':{},
                '千岛湖':{},
                '西溪湿地':{},

            },
            '余杭区':{

                '公园':{},
                '阿里巴巴':{},
                '网易':{},
            },
            '西湖区':{
                '娃哈哈':{},
                '物产重大':{},
                '磐石':{},
            },
        },
        '苏州市':{
            '柯桥区':{
                '绍兴西湖':{},
                '绍兴千岛湖':{},
                '绍兴西溪湿地':{},

            },
            '越城区':{

                '绍兴公园':{},
                '绍兴阿里巴巴':{},
                '绍兴网易':{},
            },
            '上虞区':{
                '绍兴娃哈哈':{},
                '绍兴物产重大':{},
                '绍兴磐石':{},
            },
        },
        '镇江市':{
            '椒江区':{
                '台州西湖':{},
                '台州千岛湖':{},
                '台州西溪湿地':{},

            },
            '黄岩区':{

                '台州公园':{},
                '台州阿里巴巴':{},
                '台州网易':{},
            },
            '路桥区':{
                '台州娃哈哈':{},
                '台州物产重大':{},
                '台州磐石':{},
            },
        },

    },
}

while True:
    for k in menu:
        print(k)

    choice=input('>:').strip()
    if not choice: continue
    if choice in menu:

        while True:
            for k in menu[choice]:
                print(k)

            choice2 = input('>>:').strip()
            if not choice2: continue
            if choice2 in menu[choice]:

                while True:
                    print('go to',menu[choice][choice2])
                    for k in menu[choice][choice2]:
                        print(k)


                    choice3 = input('>>>:').strip()
                    if not choice3: continue
                    if choice3 in menu[choice][choice2]:

                        print('go to',menu[choice][choice2][choice3])
                    elif choice3=='b':
                        break
                    elif choice3=='q':
                        exit('bye')
                    else:
                        print('节点不存在')
            elif choice2=='b':
                break
            elif choice2 == 'q':
                exit('bye')

            else:
                print('节点不存在')

文艺青年版本:

代码块
menu={
    '浙江省':{

        '杭州市':{
            '拱墅区':{
                '杭州西湖':{},
                '千岛湖':{},
                '西溪湿地':{},

            },
            '余杭区':{

                '公园':{},
                '阿里巴巴':{},
                '网易':{},
            },
            '西湖区':{
                '娃哈哈':{},
                '物产重大':{},
                '磐石':{},
            },
        },
        '绍兴市':{
            '柯桥区':{
                '绍兴西湖':{},
                '绍兴千岛湖':{},
                '绍兴西溪湿地':{},

            },
            '越城区':{

                '绍兴公园':{},
                '绍兴阿里巴巴':{},
                '绍兴网易':{},
            },
            '上虞区':{
                '绍兴娃哈哈':{},
                '绍兴物产重大':{},
                '绍兴磐石':{},
            },
        },
        '台州市':{
            '椒江区':{
                '台州西湖':{},
                '台州千岛湖':{},
                '台州西溪湿地':{},

            },
            '黄岩区':{

                '台州公园':{},
                '台州阿里巴巴':{},
                '台州网易':{},
            },
            '路桥区':{
                '台州娃哈哈':{},
                '台州物产重大':{},
                '台州磐石':{},
            },
        },

    },
    '江苏省':{

        '南京市':{
            '拱墅区':{
                '杭州西湖':{},
                '千岛湖':{},
                '西溪湿地':{},

            },
            '余杭区':{

                '公园':{},
                '阿里巴巴':{},
                '网易':{},
            },
            '西湖区':{
                '娃哈哈':{},
                '物产重大':{},
                '磐石':{},
            },
        },
        '苏州市':{
            '柯桥区':{
                '绍兴西湖':{},
                '绍兴千岛湖':{},
                '绍兴西溪湿地':{},

            },
            '越城区':{

                '绍兴公园':{},
                '绍兴阿里巴巴':{},
                '绍兴网易':{},
            },
            '上虞区':{
                '绍兴娃哈哈':{},
                '绍兴物产重大':{},
                '绍兴磐石':{},
            },
        },
        '镇江市':{
            '椒江区':{
                '台州西湖':{},
                '台州千岛湖':{},
                '台州西溪湿地':{},

            },
            '黄岩区':{

                '台州公园':{},
                '台州阿里巴巴':{},
                '台州网易':{},
            },
            '路桥区':{
                '台州娃哈哈':{},
                '台州物产重大':{},
                '台州磐石':{},
            },
        },

    },
}

current_layer=menu
layer=[]

while True:
    for k in current_layer:
        print(k)
    choice= input('>>:').strip()
    if not choice:continue

    if choice in current_layer:
        layer.append(current_layer)
        # print(layer)
        current_layer=current_layer[choice]

    elif choice =='b':
        if len(layer)!=0:
            current_layer=layer.pop()
        else:
            print("达到顶层")
别跑,点个赞再走

相关文章

网友评论

      本文标题:【第57天】python全栈从入门到放弃

      本文链接:https://www.haomeiwen.com/subject/vyjeectx.html