我不明白带范围的循环..
...鉴于问题 1 的答案,问题 2 令人困惑...
问题 1: 以下代码段末尾的 j 的值是多少?
j = 0
for i in range(0, 4):
j = j + i
问题2:
j = 0
for i in range(1, 10):
if j < 10 :
j = j + i
问题一:
答案:6
j = (j+1)+(j+2)+(j+3)
问题2:
答案:10
我的回答:???
为什么不是 j = (j+1)+(j+2)...(j+9)?
(我不明白表达式“if j<10”在这里的计算结果是什么......)
请您参考如下方法:
j = 0
for i in range(1, 10):
if j < 10 :
j = j + i
外部的“for”循环一直执行到耗尽 i 的范围。 在每个外部循环中,计算 j 以查看它是否小于 10。如果小于 10,则在该循环中将 j 递增 i 的值。在第 4 个循环中,j 变为 10 并在剩余的执行过程中保持该值。
loop j i j(end)
1 0 1 1
2 1 2 3
3 3 3 6
4 6 4 10
5 10 5 10
6 10 6 10
7 10 7 10
8 10 8 10
9 10 9 10
<end>
