递归函数
概念
递归函数就是在函数内部调用自己.
递归最大不超过 1000 层.
优点: 会让代码变简单.
缺点: 占内存.
代码实现
测试递归最大深度
n = 0
def story():
global n
n +=1
print(n)
story()
story()
修改递归最大深度
# import sys # sys.setrecursionlimit(1000000)
求价格
# A 多少钱? n = 1 m(1) + 2 = m(n+1)+2
# A 比 B 贵两元 n = 2 m(3)+ 2 = m(n+1)+2
# B 比 C 贵两元 n = 3 m(4)+ 2 = m(n+1)+2
# C 比 D 贵两元 n = 4 m(4) = 16
# D 16元
def func(n):
if n == 4:
return 16
elif n > 0 and n <4:
return func(n+1) + 2
print(func(1))
三级菜单
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
def threeLM(dic):
while True:
for k in dic:print(k)
key = input('input>>').strip()
if key == 'b' or key == 'q':return key
elif key in dic.keys() and dic[key]:
ret = threeLM(dic[key])
if ret == 'q': return 'q'
threeLM(menu)
作者:闫世成
出处:http://cnblogs.com/yanshicheng
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题或建议,请联系上述邮箱,非常感谢。

浙公网安备 33010602011771号