Python 查找数字列表的阶乘
我有一个数字列表[0,1,2,3,4,5,-1] 尝试创建一个函数来遍历数字列表并查找阶乘 我得到的是:Python 查找数字列表的阶乘,python,factorial,Python,Factorial,我有一个数字列表[0,1,2,3,4,5,-1] 尝试创建一个函数来遍历数字列表并查找阶乘 我得到的是: def factorial (n): fact = 1 for number in range(1,item+1): fact = fact * number return factorial 对于集合: my_numbs = [0,1,2,3,4,5,-1] 然后运行该函数: factorial(my_numbs) 但它的回报是: <fun
def factorial (n):
fact = 1
for number in range(1,item+1):
fact = fact * number
return factorial
对于集合:
my_numbs = [0,1,2,3,4,5,-1]
然后运行该函数:
factorial(my_numbs)
但它的回报是:
<function __main__.factorial>
另一个问题是我让它在for循环中运行,但是它说-1的阶乘是1,但是-1没有阶乘,所以它应该返回“”您的阶乘函数没有名为
项的变量
,我想这就是您想要的:
def factorial (n):
if n < 0:
return "" #This is as per your specification
fact = 1
for number in range(1,n+1):
fact = fact * number
return fact
你有三个问题
1函数必须返回事实而不是阶乘
2使用列表“my_numbs”调用函数,但它需要一个整数
3您必须迭代my_numbs以实现2
我猜,-1是一个“列表结束”指示器。在我的例子中,我结束了这个-1的迭代
def factorial(n):
fact = 1
for number in range(1, n+1):
fact = fact * number
return fact
my_numbs = [0,1,2,3,4,5,-1]
index = 0
while True:
if my_numbs[index] == -1:
break
print(factorial(my_numbs[index]))
index += 1
结果
1
1
2
6
24
120
在python中,返回的变量的结果是“return fact”,而不是函数名。函数体中的
item
是什么?为什么不使用n
?
1
1
2
6
24
120