首页 > 解决方案 > 一个简单的 python 代码将用于迭代的循环变量与常量变量相乘会产生意想不到的结果

问题描述

我刚刚编写了一个非常简单的程序,每次迭代都应该将迭代变量与定义的变量相乘,然后打印结果。

x=1
>>> for i in range(3):
    x *= i
    print(x)

令我惊讶的是,它给出了:

0
0
0

为什么?它应该给出:

0
1
2

标签: pythonfor-loop

解决方案


x在第一次迭代中乘以,i=0因此 x 的值变为0并且对于每次下一次迭代 0 xi = 0

这就是你真正想要做的

x = 1
for i in range(3):
   print(x*i)
0
1
2

推荐阅读