递归函数
概念
递归函数就是在函数内部调用自己.
递归最大不超过 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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题或建议,请联系上述邮箱,非常感谢。