我是编程新手,正在参加 Python 在线课程。我有一个问题要问以下函数中的一行:def sum_first_n(n): result = 0 for i in range(n): result += i + 1 print(result)sum_first_n(100)结果是 5050。现在看第 4 行:result += i + 1,如果我从该行中删除 + 1,我仍然会得到相同的结果。谁能好心解释一下 +1 的功是什么,或者写的时候可以省略吗?
3 回答
温温酱
TA贡献1752条经验 获得超4个赞
它肯定会对您的输出产生影响。首先,当 i 为 0 时,生成的整数值为 1,对于循环的下一次迭代,将向结果添加 2,因此结果等于 3。而如果不存在增量 1 的值结果将是 2 等等。所以肯定会有影响的!
鸿蒙传说
TA贡献1865条经验 获得超7个赞
我从该行中删除了 +1,它打印了 4950。+1很重要。让我解释。
首先,result = 0这里无事可做。for i in range(n)表示重复 n 次,从 STARTING 到i=0结束n=99。
对于每个循环,result = result + i + 1。由于您的循环仅求和 100 次,因此它在 处停止i=99,但是有100 次,+1因此结果为 5050。
为了使这段代码更具可读性,将其更改为for i in range(n+1): result += i表示循环从 0 开始到 100 结束,这是前 100 的总和正整数。
杨魅力
TA贡献1811条经验 获得超6个赞
'result += i + 1' 与 'result = result + i + 1' 相同。
'result = result + i + 1' 导致 5050,'result = result + i' 导致 4050。
也许您缺少任何环境选项。
添加回答
举报
0/150
提交
取消
