1 # 递归练习题 -- 深度查询 -- 不知道有多少层,使用递归 2 # 1.打印所有的节点text 3 # 2.输入一个节点名字,去遍历找,找到就打印,返回True 否则返回False 4 5 menu = [ 6 {'text': '北京', 'children': [ 7 {'text': '朝阳', 'children': []}, 8 {'text': '昌平', 'children': [ 9 {'text': '沙河', 'children': []}, 10 {'text': '回龙观', 'children': []} 11 ]} 12 ]}, 13 {'text': '上海', 'children': [ 14 {'text': '宝山', 'children': []}, 15 {'text': '金山', 'children': []} 16 ]} 17 ] 18 19 # 1.打印所有的节点text 20 def func(m): 21 for con in m: 22 print(con['text']) 23 func(con['children']) 24 25 func(menu) 26 27 # 2.输入一个节点名字,去遍历找,找到就打印,返回True 否则返回False 28 def func(menu, name): 29 for con in menu: 30 if name != con['text']: 31 if func(con['children'], name) == True: 32 return True 33 else: 34 func(con['children'], name) 35 else: 36 print(con['text']) 37 return True 38 else: 39 return False 40 41 name = input("输入节点名字:") 42 print(func(menu, name))