Python 我试着打印出1!到10点!但是遇到了一个运行时错误
这是我的密码:Python 我试着打印出1!到10点!但是遇到了一个运行时错误,python,python-2.7,runtime-error,Python,Python 2.7,Runtime Error,这是我的密码: def factR(n): if n == 1: return n return n * factR(n-1) for i in range (11): print factR(i) factR(n)函数工作正常。我已经测试过了。但是在我添加了最后两行之后,它返回了一个运行时错误。我可以知道原因吗?您没有考虑n等于0的情况,但是您的范围从0(到10)开始。因为0等于1,您只需更改: if n == 1: return n 致: 您没有考虑n等于0
def factR(n):
if n == 1:
return n
return n * factR(n-1)
for i in range (11):
print factR(i)
factR(n)函数工作正常。我已经测试过了。但是在我添加了最后两行之后,它返回了一个运行时错误。我可以知道原因吗?您没有考虑
n
等于0
的情况,但是您的范围从0(到10)开始。因为0
等于1
,您只需更改:
if n == 1:
return n
致:
您没有考虑
n
等于0
的情况,但是您的范围从0(到10)开始。因为0
等于1
,您只需更改:
if n == 1:
return n
致:
您的代码不适用于
n=0
,而是无限递归<代码>范围(11)适用于从0到10的i。您的代码不适用于n=0
,而是无限递归<代码>范围(11)适用于从0到10的i。以防您不需要0代码>,只需将范围(11)
替换为范围(1,11)
。否则,请按照其他用户的上述建议进行操作。以防您不希望0代码>,只需将范围(11)
替换为范围(1,11)
。否则,只需按照其他用户的上述建议进行操作。在打印事实(i)
之前需要atab缩进吗?您的代码看起来不正确。你能修好吗?@lucumt修好了。谢谢提醒。@NikosVitaTopiko已修复。感谢您的提醒。未修复,仍然无效在打印事实(i)
之前需要或缩进?您的代码看起来不正确。你能修好吗?@lucumt修好了。谢谢提醒。@NikosVitaTopiko已修复。谢谢提醒。未修复,仍然无效
1
1
2
6
24
120
720
5040
40320
362880
3628800