Python 的新手;难以理解 for 循环语句的输出
New to Python; trouble understanding the output of a for loop statement
输入
6
代码:
stop = int(input())
result = 0
for n in range(10):
result += n + 2
if result > stop:
break
print(n)
print(result)
结果是:
0
1
9
我对 Python 和一般编码还是很陌生。我不知道我是否正在沿着正确的道路尝试将我脑海中的代码“翻译”成更容易理解的东西?我是这样读的:
我们从0开始,给变量n赋值,范围内有10个n。我们获取结果变量,并将其自身 + n + 2 相加。
本身是0,n是0,所以result变成了2。由于变量result小于输入,是6,所以我们打印n,是0。所以我得到的那部分。
下一个输出是 1。我明白了,因为它是范围内的下一个 n。然后结果增加到 n + n + 2,即 2 + 2 + 2。所以我们现在是六点。我得到的输出是 0、1。下一个我觉得应该是2?但它是 9。为什么?这个9是哪里来的?
9
来自 print(result)
。你跳出循环是因为 9 > 6,所以你不再进行 print(n)
次调用。
每一步循环结果增加n+2,每一步n增加1
Step 0
result = 0
Step 1
n = 0
result = 0+(0+2) = 2
-> 0 is printed
Step 2
n = 1
result = 2+(1+2) = 5
-> 1 is printed
Step 3
n = 2
result = 5+(2+2) = 9
result is greater than 6: loops break
-> 9 is printed
你的 print(result) 在你的循环之外,所以你在前两个循环 (0, 1) 上打印 (n) 然后它中断并打印结果 (2+3+4=9)。
输入
6
代码:
stop = int(input())
result = 0
for n in range(10):
result += n + 2
if result > stop:
break
print(n)
print(result)
结果是:
0
1
9
我对 Python 和一般编码还是很陌生。我不知道我是否正在沿着正确的道路尝试将我脑海中的代码“翻译”成更容易理解的东西?我是这样读的:
我们从0开始,给变量n赋值,范围内有10个n。我们获取结果变量,并将其自身 + n + 2 相加。 本身是0,n是0,所以result变成了2。由于变量result小于输入,是6,所以我们打印n,是0。所以我得到的那部分。
下一个输出是 1。我明白了,因为它是范围内的下一个 n。然后结果增加到 n + n + 2,即 2 + 2 + 2。所以我们现在是六点。我得到的输出是 0、1。下一个我觉得应该是2?但它是 9。为什么?这个9是哪里来的?
9
来自 print(result)
。你跳出循环是因为 9 > 6,所以你不再进行 print(n)
次调用。
每一步循环结果增加n+2,每一步n增加1
Step 0
result = 0
Step 1
n = 0
result = 0+(0+2) = 2
-> 0 is printed
Step 2
n = 1
result = 2+(1+2) = 5
-> 1 is printed
Step 3
n = 2
result = 5+(2+2) = 9
result is greater than 6: loops break
-> 9 is printed
你的 print(result) 在你的循环之外,所以你在前两个循环 (0, 1) 上打印 (n) 然后它中断并打印结果 (2+3+4=9)。