Python 我在for循环中做错了什么?
问题来了 填空使阶乘函数返回阶乘 n。然后,用 相应的号码。记住一个数的阶乘是 定义为一个整数和它前面的所有整数的乘积。对于 例如,五(5!)的阶乘等于Python 我在for循环中做错了什么?,python,for-loop,Python,For Loop,问题来了 填空使阶乘函数返回阶乘 n。然后,用 相应的号码。记住一个数的阶乘是 定义为一个整数和它前面的所有整数的乘积。对于 例如,五(5!)的阶乘等于1*2*3*4*5=120。, 回想一下,零(0!)的阶乘等于1 我的解决方案: def factorial(n): result = 1 for x in range(1,n): result = result* n return result for n in range(1,10): pri
1*2*3*4*5=120。
,
回想一下,零(0!)的阶乘等于1
我的解决方案:
def factorial(n):
result = 1
for x in range(1,n):
result = result* n
return result
for n in range(1,10):
print(n, factorial(n+1))
鉴于:
def factorial(n):
result = 1
for x in range(1,___):
result = ___ * ___
return ___
for n in range(___,___):
print(n, factorial(n+___))
应该是
result = result* x
在for循环中,您将乘以结果*n,这不是计算阶乘的方式。在这里,您需要将结果乘以下一个x数,以获得正确的阶乘
for x in range(1,n):
result = result * x
return result
请注意,范围(1,n)产生从1到n-1的值。所以,您应该在第一个函数中使用range(1,n+1),以便它真正返回阶乘(n)。用错误的参数调用它以获得正确的值是不可接受的。我希望这不是你老师说的。。。
for x in range(1,n):
result = result * x
return result