我正在运行以下行:
如果(1 + 0.1 * i <= 2)中(i,范围(0,int((2-1)/0.1)+1)中的i)为(1 + 0.1 * i): ...打印(i) ... 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7000000000000002 1.8 1.9 2.0
我对它返回的不是1.7(在这个示例中)而是1.7000000000000002。
最初的目的是在知道浮动步长为Z(这里为0.1)的情况下,在X(这里为1)和Y(这里为2)之间生成值。我开始认为,必须有一种更简单的方法来做到这一点。但是,我无法访问numPy或非标准lib(How to use a decimal range() step value?)。 您知道具有精确浮点数的解决方案吗?
谢谢!
PS:这里的第一条消息,为什么我的“嗨”被删除?