关于 random.uniform
,docstring说:
根据舍入的范围内获取一个随机数[a,b)或[a,b]。
,但我不知道"取决于舍入"的意思是什么。
random.uniform()
的当前文档读取:
返回一个随机的浮点数
N
,以便a <= b
的a <= N <= b
和b < a
的b <= N <= a
。终点值
b
可能会或可能不包含在等式a + (b-a) * random()
中的浮点圆形的范围内。
计算机上的浮点算术算术在精度和由此不重点引起的舍入错误中可能导致b
不包含在uniform()
返回的随机值的全部值中。
random.random()
返回0.0(包含)和1.0(独家)之间的值。a
和b
有一个值,其中总和a + (b-a) * (1.0 - epsilon/2)
的浮点计算不等于b
,而是比b
低的,而对于其他组合,sum dim dim 等于b
。epsilon
是平台上浮点数的最小精度(请参见sys.float_info
),1.0 - epsilon/2
最大值random.random()
可以返回。
如果您对的详细信息感兴趣为什么在计算机上浮点算点是不精确的,我可以推荐以下两篇文章:
- 浮点指南
- 每个计算机科学家对浮点算术的了解
rounding
是:如果我向上3.45回合,我将得到4.但是,如果我向下绕下来,我将得到3.因此,在这种情况下,来自[或]将根据圆形