for i in np.arange(0.0,1.1,0.1):
print(i)输出:
0.0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6000000000000001
0.7000000000000001
0.8
0.9
1.0预期输出:
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0发布于 2020-09-10 14:51:57
它不会以错误的步长递增,这些只是浮点错误。来自here
这可以被认为是Python中的一个错误,但它不是。这与Python没有多大关系,更多的是与底层平台如何处理浮点数有关。这是在系统内部处理浮点数时遇到的正常情况。这是一个问题,当内部表示浮点数时,它使用固定数量的二进制数字来表示十进制数。很难用二进制表示一些十进制数,因此在许多情况下,这会导致很小的舍入误差。
https://stackoverflow.com/questions/63824157
复制相似问题