码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单练习

时间:2018-08-24 13:23:04      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:北京   浦东   依次   菜单   tin   回退   google   str   col   

数据结构

menu = {

    ‘北京‘:{

        ‘海淀‘:{

            ‘五道口‘:{

                ‘soho‘:{},

                ‘网易‘:{},

                ‘google‘:{}

            },

            ‘中关村‘:{

                ‘爱奇艺‘:{},

                ‘汽车之家‘:{},

                ‘youku‘:{},

            },

            ‘上地‘:{

                ‘百度‘:{},

            },

        },

        ‘昌平‘:{

            ‘沙河‘:{

                ‘老男孩‘:{},

                ‘北航‘:{},

            },

            ‘天通苑‘:{},

            ‘回龙观‘:{},

        },

        ‘朝阳‘:{},

        ‘东城‘:{},

    },

    ‘上海‘:{

        ‘闵行‘:{

            "人民广场":{

                ‘炸鸡店‘:{}

            }

        },

        ‘闸北‘:{

            ‘火车站‘:{

                ‘携程‘:{}

            }

        },

        ‘浦东‘:{},

    },

    ‘山东‘:{},

}

需求:

  • 可依次选择进入各子菜单
  • 可从任意一层往回退到上一层
  • 可从任意一层退出程序

小白版

menu = {
    ‘北京‘:{
        ‘海淀‘:{
            ‘五道口‘:{
                ‘soho‘:{},
                ‘网易‘:{},
                ‘google‘:{}
            },
            ‘中关村‘:{
                ‘爱奇艺‘:{},
                ‘汽车之家‘:{},
                ‘youku‘:{},
            },
            ‘上地‘:{
                ‘百度‘:{},
            },
        },
        ‘昌平‘:{
            ‘沙河‘:{
                ‘老男孩‘:{},
                ‘北航‘:{},
            },
            ‘天通苑‘:{},
            ‘回龙观‘:{},
        },
        ‘朝阳‘:{},
        ‘东城‘:{},
    },
    ‘上海‘:{
        ‘闵行‘:{
            "人民广场":{
                ‘炸鸡店‘:{}
            }
        },
        ‘闸北‘:{
            ‘火车站‘:{
                ‘携程‘:{}
            }
        },
        ‘浦东‘:{
        },
    },
    ‘山东‘:{
        ‘济南‘:{},
        ‘青岛‘:{}
    }
}
print("在任意一层输入“q”退出,输入“b”返回上一层(除第一层外)")
while True:
    for i in menu:
        print(i)
    choice = input("请输入所要进入地区:").strip()
    if not choice:continue  # 输入不为空
    if choice in menu:
        while True:
            for i in menu[choice]:
                print(i)
            choice2 = input("请输入进入地区:").strip()
            if not choice2:continue
            if choice2 in menu[choice]:
                while True:
                    for i in menu[choice][choice2]:
                        print(i)
                    choice3 = input("请输入进入地区:").strip()
                    if not choice3:continue
                    if choice3 in menu[choice][choice2]:
                        while True:
                            for i in menu[choice][choice2][choice3]:
                                print(i)
                            choice_back = input("最后一层!返回还是退出?")
                            if choice_back == "q":
                                exit()
                            elif choice_back == ‘b‘:
                                break
                    elif choice3 == ‘b‘:
                        break
                    elif choice3 == "q":
                        exit()
            elif choice2 == ‘b‘:
                break
            elif choice2 == "q":
                exit()
    elif choice == "q":
        exit()

 进阶版

 

三级菜单练习

标签:北京   浦东   依次   菜单   tin   回退   google   str   col   

原文地址:https://www.cnblogs.com/fantsaymwq/p/9528899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!