三级菜单---递归
1 def f(n): 2 if n==0 or n==1: 3 return n 4 else: 5 return f(n-2)+f(n-1) 6 7 print(f(6))
递归:一个函数在内部调用自身本身
菲波那切数列使用递归函数
三级菜单实现:
1 __author__ = 'Sco' 2 # -*- coding:utf-8 -*- 3 date={ 4 '北京':{ 5 '海淀':{ 6 '五道口':['快手','haha'], 7 '六道口':'知乎' 8 }, 9 '朝阳':{ 10 '望京':'陌陌', 11 '国贸':'逻辑' 12 }, 13 '昌平':{ 14 '永丰':'用友' 15 } 16 }, 17 '美国':{ 18 '洛杉矶':{ 19 'NBA':'湖人' 20 }, 21 '金州':{ 22 '篮球':'勇士' 23 } 24 } 25 } 26 #递归 27 def walk(x): 28 if isinstance(x,dict): #判断是否是字典 29 print(" ".join(x.keys())) #打印字典键值 30 choice=input('请选择输入:') 31 if choice =='q': #输入q直接退出 32 return 33 34 if choice not in x: #判断用户输入是否在这个字典 35 print('输入有误,请重新输入') 36 return walk(x) 37 38 else: 39 if isinstance(x[choice],list): #判断是列表 40 for i in x[choice]: 41 print(i) 42 return 43 else: 44 return walk(x[choice]) #返回用户选择的 45 return x 46 47 print(walk(date))
浙公网安备 33010602011771号