我有这个代码,我很难理解为什么返回这个值,并希望有人可以向我解释。我是循环和索引的新手,所以请耐心等待。
total = 0
while total < 10:
for i in range(3):
total += 1
total *= 2
print(total)
我无法理解这只会返回6
和18
的值。
答案 0 :(得分:2)
看看发生了什么:
total = 0
while total < 10:
for i in range(3):
total += 1
total
现在等于3。
total *= 2
total
现在等于6。
print(total)
它打印&#34; 6&#34;。 total
仍在&lt; 10,所以它再次循环:
while total < 10:
for i in range(3):
total += 1
total
现在等于6 + 3 = 9。
total *= 2
total
现在等于18。
print(total)
它打印&#34; 18&#34;。现在total
大于10,因此您的while
循环停止。
答案 1 :(得分:0)
total = 0
while total < 10:
for i in range(3):
total += 1
total *= 2
print(total)
总= 0
最终总值小于10,所以循环工作 在此之后for循环总计是
总=总+ 0
然后总计=总计+ 1
然后总计=总计+ 2
所以for循环后的总数是
总= 3
然后下一个完整的声明 总值= 3 * 2 = 6
首次循环后的总数= 6
再次进入while循环并且值小于10而while 循环工作正常
之后for循环总计是
总=总+ 0
然后总计=总计+ 1
然后总计=总计+ 2
所以for循环后的总数是 总= 9
然后下一个完整的声明 总值= 3 * 2 = 18
首次循环后的总数= 18
再次进入while循环,值大于10 而while循环不起作用并且中断。