菜单打印的装逼方式:递归打印
数据结构
menus = [
{
'text': '北京',
'children': [
{'text': '朝阳', 'children': []},
{'text': '昌平', 'children': [
{'text': '沙河', 'children': []},
{'text': '回龙观', 'children': []},
]},
]
},
{
'text': '上海',
'children': [
{'text': '宝山', 'children': []},
{'text': '金山', 'children': []},
]
}
]
实现代码
def search_menu(menus,search=None):
if search is None:
for x in menus:
print(x['text'])
search = input('请输入相应名称.:').strip()
for i in menus:
if search != i['text']:
continue
print('查询到%s'%(i['text']))
if 'children' in i.keys():
search_menu(i['children'])
search_menu(menus)
小结
递归函数的用处非常多,如果用的好能够节省大量的代码。
但是要记住,递归函数一定要有明确的结束条件,不然就成死循环了!
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏