码迷,mamicode.com
首页 > 编程语言 > 详细

python-三级菜单-67

时间:2019-04-26 22:49:14      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:input   pop   you   and   python   爱奇艺   append   else   int   

menu = {
    北京: {
        海淀: {
            五道口: {
                soho: {},
                网易: {},
                google: {}
            },
            中关村: {
                爱奇艺: {},
                汽车之家: {},
                youku: {},
            },
            上地: {
                百度: {},
            },
        },
        昌平: {
            沙河: {
                老男孩: {},
                北航: {},
            },
            天通苑: {},
            回龙观: {},
        },
        朝阳: {},
        东城: {},
    },
    上海: {
        闵行: {
            "人民广场": {
                炸鸡店: {}
            }
        },
        闸北: {
            火车战: {
                携程: {}
            }
        },
        浦东: {},
    },
    山东: {},
}

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
 #      elif (not dic.get(key)) or (not dic[key]): #最后两行可以不要
 #          continue

threeLM(menu)

# 递归函数实现三级菜单

 

menu = {
    北京: {
        海淀: {
            五道口: {
                soho: {},
                网易: {},
                google: {}
            },
            中关村: {
                爱奇艺: {},
                汽车之家: {},
                youku: {},
            },
            上地: {
                百度: {},
            },
        },
        昌平: {
            沙河: {
                老男孩: {},
                北航: {},
            },
            天通苑: {},
            回龙观: {},
        },
        朝阳: {},
        东城: {},
    },
    上海: {
        闵行: {
            "人民广场": {
                炸鸡店: {}
            }
        },
        闸北: {
            火车战: {
                携程: {}
            }
        },
        浦东: {},
    },
    山东: {},
}

l = [menu]
while l:
    #dic = l.pop()
    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

 

python-三级菜单-67

标签:input   pop   you   and   python   爱奇艺   append   else   int   

原文地址:https://www.cnblogs.com/LXL616/p/10776952.html

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