While循环计数不正确

时间:2018-11-08 12:45:36

标签: python loops while-loop

最近两周我一直在学习python编程,到目前为止进展非常好。但是现在我被困住了,似乎找不到答案。 我发现while循环确实很怪异,只是无法缠住我的头。

x=0
step_size=0.2

while x<2:
    print x
    x+=step_size

此代码显示:

0
0.2
0.4
...
1.8
2.0

2.0不应该打印,对吗?当x变为2.0时,语句“ x <2”为假,因此循环应退出并且永远不输出2.0。

现在,对于真正奇怪的部分:它可以与其他数字一起使用。 Step_size = 0.4最多可打印1.6,step_size = 0.1最多可打印1.9。 使用“ x <1”作为语句,并且step_size = 0.2也可以。

我想念什么?

最好的问候, 狮子座

编辑:我正在使用python 2.7.5和默认的Idle Editior v2.7.5

1 个答案:

答案 0 :(得分:3)

这是浮点算法。在控制台上输出python 3.6

0
0.2
0.4
0.6000000000000001
0.8
1.0
1.2
1.4
1.5999999999999999
1.7999999999999998
1.9999999999999998