我们可以在for循环的变量中添加所有元素吗?

2021-10-17 18:30:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图建立一个程序来计算数字的阶乘num1。问题是:如何将i中的所有数字相乘?你知道吗

这里我使用了一个for循环从5:5,4,3,2,1,0向后生成数字

但是有什么方法可以把变量的所有数字相乘吗?你知道吗

for i in range(0,5,-1):
    print(i)

结果如下:

5
4
3
2
1

有没有办法得到这些数字的乘积。我希望输出是120。你知道吗

2条回答
网友
1楼 ·

请注意,可以使用^{}轻松计算列表中项目的乘积:

>> from functools import reduce
>> numbers = list(range(5,0,-1))
[5, 4, 3, 2, 1]
>> reduce((lambda x, y: x * y), numbers)
120
网友
2楼 ·

你的for循环是错误的。你知道吗

range(start, end, step):要获得从5到1的所有数字,需要range(5, 0, -1)

可以将结果累加到循环中的变量中。从1开始,因为那是乘法恒等式。你知道吗

retval = 1
for i in range(5, 0, -1):
    retval *= i
print(retval)

相关问题