【问题标题】:Can we add all the elements in the variable of a for loop? [duplicate]我们可以在 for 循环的变量中添加所有元素吗? [复制]
【发布时间】:2019-04-20 07:12:15
【问题描述】:

我正在尝试构建一个计算数字num1 的阶乘的程序。问题是:如何将i 中的所有数字相乘?

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

但是有什么方法可以将变量i 的所有数字相乘?

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

结果如下:

5
4
3
2
1

有什么方法可以得到数字的乘积。我希望输出为120

【问题讨论】:

    标签: python python-3.x for-loop


    【解决方案1】:

    你的 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)
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-05
        • 2019-10-11
        • 2021-06-13
        • 1970-01-01
        • 2021-11-24
        • 2017-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多