首页 > 解决方案 > 在while循环中初始化

问题描述

我是 python 新手,无法理解下面的代码片段。我不明白为什么 sum 被初始化为 0,而不是 1。谁能解释这个初始化?

n = 4
sum = 0  # initialize sum
i = 1  # initialize counter
while i <= n:
    sum = sum + i
    i = i+1  # update counter
print("The sum is", sum)

标签: pythonloopswhile-loop

解决方案


Sum 初始化为零,但是因为小于或等于 n 和 i 你总是运行至少一个循环,取 i = 1,那么 sum 仍然是 1,因为循环检查 1 是否小于或等于 1 (i <= n)。因为是这样,所以它将 i 添加到总和(即 1)中,使总和为 1。然后将 i 更新为 2 并进入 while 循环的顶部。因为 2 <= 1 或 i <= n 在这里是假的,所以它会爆发并打印一个作为总和


推荐阅读