我们先看看这组尝试:
- >>> import random
- >>> random.seed(0)
- >>> random.uniform(1, 10)
- 8.599796663725433
- >>> random.uniform(1, 10)
- 7.821589626462722
- >>> random.seed(0)
- >>> random.uniform(10, 1)
- 2.4002033362745667
- >>> random.uniform(10, 1)
- 3.178410373537278
复制代码
其中seed是设置伪随机数的种子都为同一数值,这样每次的随机序列相同。
我们看到1和3相加与2和4相加的结果都是11.
我们再看看这个结果
- >>> random.seed(0)
- >>> random.random()
- 0.8444218515250481
- >>> random.random()
- 0.7579544029403025
复制代码
这是生成0~1的随机数。从两组尝试可以得出结论,uniform是通过random计算得出的。
即uniform(a, b) = a + (b - a) * random().
也就是说得到的是a,b之间的随机分别的数,不论a,b谁大。