4 def f(n: int, m=1) -> int:
5 if n == 1:
6 return m
7 return f(n - 1, n * m)
5 def main():
34 import sys
35 sys.setrecursionlimit(10000)
36 print(f(10.5))
说明 :
- 定义函数时指定参数为int, 输出结果为int仅是说明,方便阅读代码,即使值不为整数也能执行代码,
- 增加一个参数m,可以让函数执行过程中,依次调用f(n-1)后,在 n = 1 时输出结果
如果 return n * f(n - 1) 则需要再次将结果依次返回给上一个函数,浪费时间 - python3默认最大迭代次数1000次, sys.setrecursionlimit(10000) -- 自定义迭代次数
网友评论