zoukankan      html  css  js  c++  java
  • 三级菜单作业--递归、堆栈

    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    # 递归实现
     1 def three(dic):
     2     while 1:
     3         for i in dic:
     4             print(i)
     5         key = input('input >>>').strip()
     6         if key == 'b' or key == 'q':
     7             return key
     8         elif key in dic.keys() and dic[key]:
     9             ret = three(dic[key])
    10             if key == 'q':
    11                 return 'q'
    12         elif (not dic.get(key)) or (not dic[key]):   # 如果输入的key不在当前字典中,或者当前key对应的value为null
    13             continue
    14 
    15 three(menu)
    # 堆栈实现
     1 l = [menu]
     2 while l:
     3     for key in l[-1]:
     4         print(key)
     5     k = input('input>>>').strip()
     6     if k in l[-1].keys() and l[-1][k]:
     7         l.append(l[-1][k])
     8     if k == 'b':
     9         l.pop()
    10     if k == 'q':
    11         break
    #
    #

  • 相关阅读:
    如何在网页上显示html代码?
    3s自动跳转到登陆界面
    数据交互 ajax代码整理
    45种Javascript技巧大全【转藏】
    react环境搭建
    overflow 那些我们忽略的特点
    CSS3 动画效果合集
    2016年上半年前端资源汇总
    math.js 使用...
    php Apache No input file
  • 原文地址:https://www.cnblogs.com/Ryan-Fei/p/12214222.html
Copyright © 2011-2022 走看看