python递归写法_三级菜单python写法(递归写法)

数据结构:

menu = {

‘北京‘:{

‘海淀‘:{

‘五道口‘:{

‘soho‘:{},

‘网易‘:{},

‘google‘:{}

},

‘中关村‘:{

‘爱奇艺‘:{},

‘汽车之家‘:{},

‘youku‘:{},

},

‘上地‘:{

‘百度‘:{},

},

},

‘昌平‘:{

‘沙河‘:{

‘老男孩‘:{},

‘北航‘:{},

},

‘天通苑‘:{},

‘回龙观‘:{},

},

‘朝阳‘:{},

‘东城‘:{},

},

‘上海‘:{

‘闵行‘:{

"人民广场":{

‘炸鸡店‘:{}

}

},

‘闸北‘:{

‘火车战‘:{

‘携程‘:{}

}

},

‘浦东‘:{},

},

‘山东‘:{},

}

需求:

可依次选择进入各子菜单

可从任意一层往回退到上一层

可从任意一层退出程序

所需新知识点:列表、字典

参考代码如下:

# coding:utf-8

#!/usr/bin/env python3

menu = {

‘北京‘:{

‘海淀‘:{

‘五道口‘:{

‘soho‘:{},

‘网易‘:{},

‘google‘:{}

},

‘中关村‘:{

‘爱奇艺‘:{},

‘汽车之家‘:{},

‘youku‘:{},

},

‘上地‘:{

‘百度‘:{},

},

},

‘昌平‘:{

‘沙河‘:{

‘老男孩‘:{},

‘北航‘:{},

},

‘天通苑‘:{},

‘回龙观‘:{},

},

‘朝阳‘:{},

‘东城‘:{},

},

‘上海‘:{

‘闵行‘:{

"人民广场":{

‘炸鸡店‘:{}

}

},

‘闸北‘:{

‘火车战‘:{

‘携程‘:{}

}

},

‘浦东‘:{},

},

‘山东‘:{},

}

#递归方式实现

def show_Menu(ch):

for s in ch:

print(s)

print(‘返回/退出‘)

p = input(‘您选择是‘)

if p == ‘退出‘:

exit()

elif p == ‘返回‘:

return

else:

if p in ch:

show_Menu(ch[p])

show_Menu(ch)

show_Menu(menu)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值