python多级菜单_python练习题:多级菜单(dict练习)

menu = {

'北京':{

'海淀':{

'五道口':{

'soho':{},

'网易':{},

'google':{}

},

'中关村':{

'爱奇艺':{},

'汽车之家':{},

'youku':{},

},

'上地':{

'百度':{},

},

},

'昌平':{

'沙河':{

'北航':{},

},

'天通苑':{},

'回龙观':{},

},

'朝阳':{},

'东城':{},

},

'上海':{

'闵行':{

"人民广场":{

'炸鸡店':{}

}

},

'闸北':{

'火车战':{

'携程':{}

}

},

'浦东':{},

},

'山东':{},

}

current_layer = menu # 存放当前节点

pre_layer=[] #存放前面的节点数据

while True:

for i in current_layer:

print(i)

user_opt = input(">>").strip()

if user_opt == None:

continue

elif user_opt == "q":

exit()

elif user_opt == "b":

if current_layer == menu:#若当前节点已是最顶层节点,则不回退

continue

else:

current_layer = pre_layer.pop()#回退一级,上一级节点变成当前节点

elif user_opt in current_layer:

pre_layer.append(current_layer)#前进一级,当前节点变为上一级节点

current_layer = current_layer[user_opt]#下一级节点变为当前节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值