def fac(num): if num == 0: return 1 return num * fac(num - 1) Python对递归的深度加以了限制(默认1000层函数调用),如果想突破这个限制,可以使用下面的方法。 import sys sys.setrecursionlimit(10000)