python部门的奇怪输出

时间:2014-12-01 02:55:59

标签: python division

我有这个功能

def getXVals(maxVal = 100):
    listt = []
    i = 1
    while i != 11:
        listt.append(float(maxVal/i))
        i += 1

正在返回

[100.0, 50.0, 33.333333333333336, 25.0, 20.0, 16.666666666666668, 14.285714285714286, 12.5, 11.11111111111111, 10.0]

我想让它返回均匀间隔。我做错了什么?

1 个答案:

答案 0 :(得分:3)

大致一切。如果你想要从0到x进行n步的线性插值,那么你需要将x乘以k / n,其中k从0变为n。你......不要这样做。

[maxVal * k / 10 for k in range(0, 11)]