i = input("Enter number", )
for i in range(i):
i= i *(i+1)
print(i)
我正在尝试使用上面的代码为用户输入的任何数字生成因子。如何使用上面的代码实现这一点,而不使用python factorial函数。我如何用阶乘函数做到这一点?
你在迭代它时修改i
。你能尝试一下:
i = int(input("Enter number", ))
f = 1
for j in range(i):
f = f * (j+1)
print(f)
你也可以通过这种方式递归地做到这一点
def recur_factorial(n):
"""Function to return the factorial
of a number using recursion"""
if n == 1:
return n
else:
return n*recur_factorial(n-1)
print recur_factorial(5)
您可以以整数的形式从用户获取输入,然后传入阶乘函数
通过在math.factorial(value)
中导入math
库来使用此函数python
。
在使用递归时,您应该使用尾递归函数
def factorial2(x, fac):
if x == 1:
return fac
else:
return factorial2(x-1, x*fac)
factorial2(value_here,1)
您可以使用简单的内置函数:
import math
math.factorial(value_here)