zoukankan      html  css  js  c++  java
  • 三级菜单-递归和堆栈的方法写


    menu = {
    '北京': {
    '朝阳': {
    '国贸': {},
    'CICC': {},
    'HP': {},
    '渣打银行': {},
    'CCTV': {},
    },
    '望京': {
    '陌陌': {},
    '奔驰': {},
    '360': {},
    },
    '三里屯': {
    '优衣库': {},
    'apple': {},
    },
    '昌平': {
    '沙河': {
    '老男孩': {},
    '阿泰包子': {},
    },
    '天通苑': {
    '链家': {},
    '我爱我家': {},
    },
    '回龙观': {},
    },
    '海淀': {
    '五道口': {
    '谷歌': {},
    '网易': {},
    'sohu': {},
    '快手': {},
    },
    '中关村': {
    'youku': {},
    'Iqiyi': {},
    '汽车之家': {},
    '新东方': {},
    'QQ': {},
    },

    },
    },
    '上海': {
    '浦东': {
    '陆家嘴': {
    'CICC': {},
    '高盛': {},
    '摩根': {},
    },
    },
    '闵行': {},
    '静安': {},
    },
    '山东': {
    '济南': {},
    '德州': {
    '乐陵': {
    '丁务镇': {},
    '城区': {},
    },
    '平原': {},
    },
    '青岛': {},
    },
    }
    #
    def threeLM(dic):
    while True:
    for k in dic:
    print(k)
    key =input('input>>>').strip()
    if key =='b' or key=='q':
    return key
    elif key in dic.keys() and dic[key]:
    ret = threeLM(dic[key])
    if ret =='q':
    return 'q'

    threeLM(menu)

    l =[menu]
    while l:
    for key in l[-1]:
    print(key)
    k =input('input>>').strip()
    if k in l[-1].keys() and l[-1][k]:
    l.append(l[-1][k])
    elif k =='b':l.pop()
    elif k =='q':break
    else:continue

  • 相关阅读:
    编码的使用,编码与解码
    小数据池,is和==的区别,id()
    python的内置函数
    python基本数据类型
    组合模式学习
    访问者模式
    C++ primer Plus回顾
    命令模式学习
    策略模式学习(设计模式)
    python_xlrd模块学习
  • 原文地址:https://www.cnblogs.com/jmc218/p/11708326.html
Copyright © 2011-2022 走看看