为了账号安全,请及时绑定邮箱和手机立即绑定

while循环中的初始化

while循环中的初始化

PHP
慕标琳琳 2023-11-09 10:57:54
我是 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出于好奇,您也可以尝试使用其他值进行初始化。


查看完整回答
反对 回复 2023-11-09
?
侃侃尔雅

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 作为总和



查看完整回答
反对 回复 2023-11-09
  • 2 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信