zoukankan      html  css  js  c++  java
  • 三级菜单python写法(递归写法)

    数据结构:
    
    menu = {
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '老男孩':{},
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车战':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    
    需求:
    可依次选择进入各子菜单
    可从任意一层往回退到上一层
    可从任意一层退出程序
    所需新知识点:列表、字典
    参考代码如下:
    # coding:utf-8
    #!/usr/bin/env python3
    menu = {
    '北京':{
    '海淀':{
    '五道口':{
    'soho':{},
    '网易':{},
    'google':{}
    },
    '中关村':{
    '爱奇艺':{},
    '汽车之家':{},
    'youku':{},
    },
    '上地':{
    '百度':{},
    },
    },
    '昌平':{
    '沙河':{
    '老男孩':{},
    '北航':{},
    },
    '天通苑':{},
    '回龙观':{},
    },
    '朝阳':{},
    '东城':{},
    },
    '上海':{
    '闵行':{
    "人民广场":{
    '炸鸡店':{}
    }
    },
    '闸北':{
    '火车战':{
    '携程':{}
    }
    },
    '浦东':{},
    },
    '山东':{},
    }
    #递归方式实现
    def show_Menu(ch):
    for s in ch:
    print(s)
    print('返回/退出')
    p = input('您选择是')
    if p == '退出':
    exit()
    elif p == '返回' and ch != menu:
    return
    else:
    if p in ch:
    show_Menu(ch[p])
    show_Menu(ch)
    show_Menu(menu)
  • 相关阅读:
    为什么mvc里面的ModelState.IsValid一只都是true
    ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
    ASP.NET MVC学习之过滤器篇(1)
    百分比定位加position定位的常用布局
    angular_$inject
    angular的$scope,这东西满重要的
    angular-scope.assign
    angular_$attrs
    angular-input
    angular_form
  • 原文地址:https://www.cnblogs.com/cjqbaba/p/8544064.html
Copyright © 2011-2022 走看看