使用列表理解时的奇怪值

时间:2016-12-01 18:06:30

标签: python python-3.x

我正在尝试创建一个函数create_plot_data(xmin,xmax,n),它根据等式生成值的列表(xs): equation

这是我提出的代码:

def create_plot_data(xmin, xmax, n):
    xs = [xmin + i * ((xmax - xmin) / n - 1) for i in range(n)]
    return xs

但是当我用它测试时:

create_plot_data(0, 2, 5)

我明白了:

[0.0, -0.6, -1.2, -1.7999999999999998, -2.4]

然而,我知道我应该得到(手动计算):

[0.0, 0.5, 1.0, 1.5, 2.0]

有谁知道出了什么问题?!

1 个答案:

答案 0 :(得分:4)

你遗漏了一些问题:... + i * ((xmax - xmin) / ( n - 1 ) )