-3

我不明白这段代码。我在想,虽然 iterLeft 不等于 0,但它会将 ans 添加到 x。答案是 0 x 是 3,等于 3。Iterleft - 1 = 2

print str(x)应该打印 2 因为 x 是 2,然后再打印 2,然后是 3

我的解释有什么问题

x = 3
ans = 0
itersLeft = x
while (itersLeft != 0):
     ans = ans + x
     itersLeft = itersLeft - 1
print str(x) + '*' + str(x) + ' = ' + str(ans)
4

2 回答 2

5

我的解释有什么问题

x设置为3然后永远不会更改。我不明白你怎么能期望print str(x)print 2

它增加ansx

不,相反:ans = ans + x 添加xans.

于 2013-04-12T13:00:52.737 回答
0

x总是3因为你没有在while循环下改变它。

你必须给indentation after while loop

于 2013-04-12T13:02:06.103 回答