python函数---带参数的装饰器\递归函数
# count = 0 # def func(): # global count # count += 1 # print(count) # func() # print(456) # func() # RecursionError # 递归的最大深度1000层 : 为了节省内存空间,不要让用户无限使用内存空间 # 1.递归要尽量控制次数,如果需要很多层递归才能解决问题,不适合用递归解决 # 2.循环和递归的关系 # 递归不是万能的 # 递归比起循环来说更占用内存 # 修改递归的最大深度 # import sys # sys.setrecursionlimit(1000000000) # 你的递归函数 必须要停下来 # 递归函数是怎么停下来的?递归3次结束整个函数 # count = 0 # def func(): # func1 # global count # count += 1 # 1 # print(count) # if count == 3: return # func() # print(456) # func() # # def func(): # func2 # global count # count += 1 # 2 # print(count) # if count == 3: return # func() # print(456) # # # def func(): # func3 # global count # count += 1 # 3 # print(count) # if count == 3:return # func() # print(456) # 函数的调用 # 函数的参数 # 函数的返回值 # 一个递归函数要想结束,必须在函数内写一个return,并且return的条件必须是一个可达到的条件 # 并不是函数中有return,return的结果就一定能够在调用函数的外层接收到 # def func(count): # count += 1 # print(count) # if count == 5 : return 5 # ret = func(count) # print(count ,':',ret) # return ret # print('-->',func(1)) # def func(1): # 1 += 1 # print(2) # if 2 == 5 : return 5 # ret = func(2) # print(ret) # return ret # # def func(2): # 2 += 1 # print(3) # if 3 == 5 : return 5 # ret = func(3) # print(ret) # return ret # # def func(3): # 3 += 1 # print(4) # if 4 == 5 : return 5 # ret = func(4) # print(ret) # return ret # # def func(4): # 4 += 1 # print(5) # if 5 == 5 : return 5 # func(count) # # def func(count): # count += 1 # print(count) # if count == 5 : return 5 # return func(count) # print('-->',func(1)) # 先写正则的题目 # 递归相关 # 1.计算阶乘 100! = 100*99*98*97*96....*1 # 循环 # 递归 def fin(n): if n ==1 : return n else: return n*fin(n-1) ret = fin(7) print(ret) # 2.os模块:查看一个文件夹下的所有文件,这个文件夹下面还有文件夹,不能用walk # 3.os模块:计算一个文件夹下所有文件的大小.这个文件夹下面还有文件夹,不能用walk # 4.计算斐波那契数列 # 找第100个数 # 1 1 2 3 5 # 5.三级菜单 可能是n级 # 递归 循环 # https://www.cnblogs.com/Eva-J/articles/7205734.html#_label4 menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人民广场": { '炸鸡店': {} } }, '闸北': { '火车战': { '携程': {} } }, '浦东': {}, }, '山东': {}, }