0

我写了这段代码:

def frange(start, end, increase):
x = start
while x < end:
    yield x
    x = x + increase

print(list(frange(1, 2, 0.3)))

输出是:

[1, 1.3, 1.6, 1.9000000000000001]

但我不知道为什么最后一个元素1.9000000000000001不是1.9. 你能告诉我原因吗?

4

1 回答 1

0

使用Floating Point Arithmetic: Issues and Limitations文档了解原因。

于 2013-09-05T03:26:14.383 回答