use*_*627 7 python random floating-point rounding
About random.uniform, docstring says:
Get a random number in the range [a, b) or [a, b] depending on rounding.
But I do not know what does 'depending on rounding' exactly mean.
返回一个随机浮点数
N,a <= N <= b以便fora <= b和b <= N <= aforb < 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,而对于其它组合的总和不等于b.epsilon是平台上浮点数的最小精度(请参阅参考资料sys.float_info),1.0 - epsilon/2最大值random.random()可以返回.
如果你有兴趣在细节的原因浮点运算的计算机上是不准确的,我可以推荐以下两篇文章: