提问,步长是0.1的时候,分别计算50-51和50-51.1,结果一个不包含最后一个元素,一个包含,真是奇怪。
np.arange(50, 51 , 0.1)
#array([50. , 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9])
np.arange(50, 51.1 , 0.1)
#array([50. , 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9, 51. ,51.1])
更奇怪的是,计算10-11和10-11.1又不一样了,结果两个都没有包含最后一个元素。
np.arange(10, 11 , 0.1)
Out[68]: array([10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9])
np.arange(10, 11.1 , 0.1)
#array([10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11. ])
是什么原理还是BUG呢?

np.arange(50, 51 , 0.1)
#array([50. , 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9])
np.arange(50, 51.1 , 0.1)
#array([50. , 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9, 51. ,51.1])
更奇怪的是,计算10-11和10-11.1又不一样了,结果两个都没有包含最后一个元素。
np.arange(10, 11 , 0.1)
Out[68]: array([10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9])
np.arange(10, 11.1 , 0.1)
#array([10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11. ])
是什么原理还是BUG呢?


