<分区>
我试图将列表中的所有数字相互相乘
a = [2,3,4]
for number in a:
total = 1
total *= number
return total
此输出应为 24,但出于某种原因我得到 4。为什么会这样?
<分区>
我试图将列表中的所有数字相互相乘
a = [2,3,4]
for number in a:
total = 1
total *= number
return total
此输出应为 24,但出于某种原因我得到 4。为什么会这样?
最佳答案
您在循环的每次迭代中将 total 初始化为 1。
代码应该是(如果您确实想要手动执行):
a = [2, 3, 4]
total = 1
for i in a:
total *= i
这可以解决您的直接问题,但是,如果您使用的是 Python 3.8 或更高版本,则此功能位于 math
库中:
import math
a = [2, 3, 4]
total = math.prod(a)
关于python - 如何将列表中的所有元素相互相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262910/