我是 python 新手,无法理解下面的代码片段。我不明白为什么 sum 被初始化为 0,而不是 1。任何人都可以解释这个初始化吗?n = 4sum = 0 # initialize sumi = 1 # initialize counterwhile i <= n: sum = sum + i i = i+1 # update counterprint("The sum is", sum)
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
这实际上更像是计算机编程的基础知识而不是 Python 问题。我将尝试在这里简要解释一下。
看起来您的目标是找到整数 1 到 n 的总和。如果用 1 初始化sum,那么得到的结果将始终比整数 1 到 n 的实际和多 1。您可以通过使用小值(例如n最多 5)进行运行并将获得的输出与实际总和进行比较来验证这一点。为了方便起见,我在这里放一张桌子:
n | sum(1, n)
-------------
1 | 1
2 | 3
3 | 6
4 | 10
5 | 15
现在将其与使用 1 初始化时的输出进行比较。sum出于好奇,您也可以尝试使用其他值进行初始化。
侃侃尔雅
TA贡献1801条经验 获得超15个赞
Sum 初始化为零,但由于 n 和 i 小于或等于,因此您总是运行至少一个循环,取 i = 1,则总和仍为 1,因为循环检查 1 是否小于或等于 1 (i <= n)。因为它是然后它将 i 添加到总和(即 1)中,使总和为 1。然后它将 i 更新为 2 并转到 while 循环的顶部。由于 2 <= 1 或 i <= n 在这里为 false,因此它会中断并打印 1 作为总和
- 2 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消