是否可以在python中找到[a,b]范围内的随机浮点数?

Ran*_*ber 3 python random floating-point

我试图在[0.8,0.9]的范围内生成python随机浮点数,但不幸的是,我发现的所有工具只能在浮点数的[a,b]范围内生成randoms.(像Random.uniform(a,b))

同时,我尝试做这样的事情:

uniform(0.8,0.90000000001)
Run Code Online (Sandbox Code Playgroud)

但那确实很糟糕

有任何想法吗 ?

Ned*_*der 7

[0.8,0.9]和[0.8,0.9]之间的差异非常小.鉴于二进制浮点的局限性,我认为甚至没有区别,因为无论如何都不能精确地表示0.9.使用[0.8,0.9).

  • 有一点不同,因为浮点的局限性也适用于`uniform`的上限.也就是说,当你说"制服(0.8,0.9)"时,你实际上说的是更接近于"统一(0.80000000000000004,0.90000000000000002)"的东西.这里[a,b)和[a,b]之间的差异是最大值(大约)0.89999999999999991和0.90000000000000002之间的差异.它不太可能发生,但差异就在那里. (2认同)