阶乘级定义如下:
F(0) = 1
F(n) = N * F(n-1) (for n>1)
写一个计算阶乘的第N个项的递归函数factorial(N)
系列并返回它。编写一个程序:
要求用户输入整数Q
创建Q
个整数的列表
用位置编号j
中的阶乘的jth
项填充所有列表由factorial()
函数计算的系列
打印列表的内容。
这是我的尝试:
def factorial(N):
if N<=1:
return 1
elif N>=1:
return int(N*factorial(N-1))
print (factorial(3))
import random
Q=int(input("please enter a value"))
range1 = range(0,Q,1)
for i in range1:
print(i,end="")
factorial (j)
我不太确定如何完成它。我不明白“通过由factorial()函数计算出的所有列表,在位置编号j中填充阶乘系列的第j个项”的意思是什么
它仍然不能完全清楚问题陈述,所以也许您应该找给您分配问题的人,并请他们进行澄清。但是,我认为您具有阶乘功能。并要求用户输入整数值Q
。然后,您需要为Q
def factorial(n):
if n == 1:
return 1
elif n >= 1:
return n * factorial(n - 1)
else:
return 0
#get the value from the user
q = int(input("enter an integer: "))
#verbose method which first creates empty Q length list then fills it
qlist = ['']*q
for j,_ in enumerate(qlist):
qlist[j] = factorial(j)
print(qlist)
#list comprehension to build and populate the list in one go
qlist = [factorial(i) for i in range(q+1)]
print(qlist)
输出
entered integer: 10
[0, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880]
[0, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880]