【问题标题】:finding sum using for loop in python在python中使用for循环求和
【发布时间】:2018-12-03 04:43:45
【问题描述】:

当我们必须通过 for 循环添加 python 时,我们必须输入如下内容:

>>> list(range(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> total=0
... for element in range(1,10) :
...     total+=element
>>> print(total)
45

但我尝试做其他事情,我没有在良性中定义总计,后来只是将总计定义为 (total=element)。当我打印total 时,每次4 都会到来,无论我有哪个数字序列。谁能解释一下为什么每次4都来了?

【问题讨论】:

  • for loop in Python的可能重复
  • 那是因为 4 是列表 a 中的最后一个元素
  • 这是因为 print 语句不在 for 循环中,而是在考虑循环的最后一次迭代以及列表的最后一个值 a 之外。
  • @roxaite 请不要张贴代码和错误信息的图片,直接在SO上张贴文字。

标签: python for-loop sum


【解决方案1】:

您将total += e 替换为total = e。所以只使用最后一个值。

【讨论】:

    【解决方案2】:

    您有一个列表 a = [1,2,3,4] 并且总数 = 0 然后,您正在迭代列表

    for e in a:
        total = a
    print (total)
    

    在每次迭代中,total 的值将替换为 a,而在最后一次迭代中,a (= 4) 的值将替换之前的 total 值。 这就是为什么它每次都打印4

    如果你想得到总值只需替换

    total = a
    

    total += a
    

    【讨论】:

      【解决方案3】:

      为什么需要 for 循环?

      print(sum(range(10))
      

      你所说的事情并没有真正起作用,因为这就是 for 循环的工作方式。 它用它现在使用的元素替换了 total。

      【讨论】:

        猜你喜欢
        • 2018-09-13
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 2023-01-13
        相关资源
        最近更新 更多