【问题标题】:Can someone explain why this finds the sum of my numbers?有人可以解释为什么这会找到我的数字的总和吗?
【发布时间】:2022-01-12 06:12:43
【问题描述】:

很抱歉,我知道这完全是一个菜鸟问题,但我正在为我的入门课程运行代码,并且通过互联网的慷慨帮助,我想出了如何让它发挥作用。我唯一的问题是为什么这行得通?看起来它只是针对总数而不是其他数字相加。感谢大家的帮助,我知道这是一个愚蠢的问题哈哈。

def main():

    #opening the numbers file
    numbers = open('numbers.txt', 'r')

    total = 0
    #making a for loop
    for line in numbers:
        total += int(line)
    print("The sum for all numbers in the numbers.txt file is:", total)

#calling main
if __name__ == '__main__':
main()

编辑:非常感谢大家的回复(以及 sum 函数的新代码行!我不知道。太酷了!)。我真的只是做了一个帐户,所以我对网站布局一点也不熟悉,但我想我现在已经明白了。再次感谢您的解释!! :)

【问题讨论】:

  • 对于每一行,它获取该行上的数字 [因此int] 然后将其添加到总数中,这正是 sum 的含义。如果您希望我将其写成正式答案,请告诉我。
  • 您可以使用帖子下方的edit 链接进行更改而不是评论
  • 它是针对total 添加的。把它想象成一个容器。你不断添加下一个数字...total 将在你到达循环中的下一个数字时得到之前数字的总和
  • 可能就地添加 (+=) 令人困惑? total += int(line) 等价于 total = total + int(line)

标签: python for-loop integer


【解决方案1】:

total 是运行总和,所以它与其他数字相加。 += 是增补加法:它添加到 total 的现有值。和它一样

total = total + int(line)

这显示了总和如何在for 循环中累积。附带说明一下,有一个功能可以为您求和。通常会写

total = sum(int(line) for line in numbers)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    相关资源
    最近更新 更多