首页 > 代码库 > 三级菜单

三级菜单

menu = {    ‘北京‘:{        ‘海淀‘:{            ‘五道口‘:{                ‘soho‘:{},                ‘网易‘:{},                ‘google‘:{}            },            ‘中关村‘:{                ‘爱奇艺‘:{},                ‘汽车之家‘:{},                ‘youku‘:{},            },            ‘上地‘:{                ‘百度‘:{},            },        },        ‘昌平‘:{            ‘沙河‘:{                ‘老男孩‘:{},                ‘北航‘:{},            },            ‘天通苑‘:{},            ‘回龙观‘:{},        },        ‘朝阳‘:{},        ‘东城‘:{},    },    ‘上海‘:{        ‘闵行‘:{            "人民广场":{                ‘炸鸡店‘:{}            }        },        ‘闸北‘:{            ‘火车战‘:{                ‘携程‘:{}            }        },        ‘浦东‘:{},    },    ‘山东‘:{},}menu_list = [ menu]temp = menu  #将dict赋值给tempwhile True:    for i in temp:  #先遍历第一轮的val        print(i)       #打印第一轮的val    choico = input(‘>>‘)    if len(choico) == ‘‘:continue    #判断是否字典的key 不是的话就直接返回    if choico in temp:     #是否字典里面的内容        menu_list.append(temp)    #添加当前层到列表        temp = temp[choico]      # 循环的时候,一直是寻找你输入的key值的val    elif choico.lower() == ‘b‘:      #判断是b        if menu_list:                    temp = menu_list[-1]     #获取你menu_list中最后一个值,            menu_list.pop()              #删除menu_list中最后一个值    elif choico.lower() == ‘p‘:        print(‘-------end----------‘)        break

  

menu = {
‘北京‘:{
‘海淀‘:{
‘五道口‘:{
‘soho‘:{},
‘网易‘:{},
‘google‘:{}
},
‘中关村‘:{
‘爱奇艺‘:{},
‘汽车之家‘:{},
‘youku‘:{},
},
‘上地‘:{
‘百度‘:{},
},
},
‘昌平‘:{
‘沙河‘:{
‘老男孩‘:{},
‘北航‘:{},
},
‘天通苑‘:{},
‘回龙观‘:{},
},
‘朝阳‘:{},
‘东城‘:{},
},
‘上海‘:{
‘闵行‘:{
"人民广场":{
‘炸鸡店‘:{}
}
},
‘闸北‘:{
‘火车战‘:{
‘携程‘:{}
}
},
‘浦东‘:{},
},
‘山东‘:{},
}
menu_list = [ menu]
temp = menu
while True:
for i in temp:
print(i)
choico = input(‘>>‘)
if len(choico) == ‘‘:continue
if choico in temp:
menu_list.append(temp)
temp = temp[choico]
elif choico.lower() == ‘b‘:
if menu_list:
temp = menu_list[-1]
menu_list.pop()
elif choico.lower() == ‘p‘:
print(‘-------end----------‘)
break

三级菜单