关于python中yield的用法

时间:2013-09-05 03:17:20

标签: python-2.7

我写这段代码:

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。 你能告诉我原因吗?

1 个答案:

答案 0 :(得分:0)

使用Floating Point Arithmetic: Issues and Limitations的文件来了解原因。