我编写了以下代码来生成带浮点数的范围:
def drange(start, stop, step):
result = []
value = start
while value <= stop:
result.append(value)
value += step
return result
Run Code Online (Sandbox Code Playgroud)
使用此语句调用此函数时:
print drange(0.1,1.0,0.1)
Run Code Online (Sandbox Code Playgroud)
我希望得到这个:
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
Run Code Online (Sandbox Code Playgroud)
但我得到以下信息:
[0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999]
Run Code Online (Sandbox Code Playgroud)
这是为什么?,我该如何解决?