与基本的python代码混淆

Sad*_*har -3 python while-loop

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

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

我的解释有什么问题

x = 3
ans = 0
itersLeft = x
while (itersLeft != 0):
     ans = ans + x
     itersLeft = itersLeft - 1
print str(x) + '*' + str(x) + ' = ' + str(ans)
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

我的解释有什么问题

x设置为3然后从未更改.我看不出你怎么print str(x)打印2.

它增加ansx

不,这是周围的其他方法:ans = ans + x 添加xans.