在开始了解之前,我们需要知道random()函数是需要导入模板,才可以进行访问,然后通过调用静态对象来使用这个方法,另外返回生成的随机实数,是有一定的范围。下面正式开始主题介绍:

先给大家带来一列实例“生成-4-7之间的随机数,并且和为1,并将符合条的2个值打印出来”,通过调用random()函数,代码如下:

import random
for i in range(30):
num1=random.randint(-4,8)
num2 = random.randint(-4, 8)
if num1+num2==1:
print(num1,num2)

运行结果:

以上是调用:整数用函数

-1 2
2 -1
random.randrange(stop)
random.randrange(start, stop[, step])

从 range(start, stop, step) 返回一个随机选择的元素。 这相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象。

位置参数模式匹配 range() 。不应使用关键字参数,因为该函数可能以意外的方式使用它们。

拓展random()函数调用用法以及实例演示

如常用数学实践中所使用的那样, 函数参数以分布方程中的相应变量命名;大多数这些方程都可以在任何统计学教材中找到。

1、random.random()

返回 [0.0, 1.0) 范围内的下一个随机浮点数。

2、random.uniform(a, b)

返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a 。

取决于等式 a + (b-a) * random() 中的浮点舍入,终点 b 可以包括或不包括在该范围内。

3、random.triangular(low, high, mode)

返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。

4、random.betavariate(alpha, beta)

Beta 分布。 参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。

5、random.expovariate(lambd)

指数分布。 lambd 是 1.0 除以所需的平均值,它应该是非零的。 (该参数本应命名为 “lambda” ,但这是 Python 中的保留字。)如果 lambd 为正,则返回值的范围为 0 到正无穷大;如果 lambd 为负,则返回值从负无穷大到 0。

6、random.gammavariate(alpha, beta)

Gamma 分布。 ( 不是 gamma 函数! ) 参数的条件是 alpha > 0 和 beta > 0。

概率分布函数是:x ** (alpha - 1) * math.exp(-x / beta)

pdf(x) = --------------------------------------

math.gamma(alpha) * beta ** alpha

7、random.gauss(mu, sigma)

高斯分布。 mu 是平均值,sigma 是标准差。 这比下面定义的 normalvariate() 函数略快。

8、random.lognormvariate(mu, sigma)

对数正态分布。 如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma。 mu 可以是任何值,sigma 必须大于零。

9、random.normalvariate(mu, sigma)

正态分布。 mu 是平均值,sigma 是标准差。

10、random.vonmisesvariate(mu, kappa)

mu 是平均角度,以弧度表示,介于0和 2*pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在0到 2*pi 的范围内减小到均匀的随机角度。

11、random.paretovariate(alpha)

帕累托分布。 alpha 是形状参数。

12、random.weibullvariate(alpha, beta)

威布尔分布。 alpha 是比例参数,beta 是形状参数。

13、class random.Random([seed])

该类实现了 random 模块所用的默认伪随机数生成器。

14、class random.SystemRandom([seed])

使用 os.urandom() 函数的类,用从操作系统提供的源生成随机数。 这并非适用于所有系统。 也不依赖于软件状态,序列不可重现。 因此,seed() 方法没有效果而被忽略。 getstate() 和 setstate() 方法如果被调用则引发 NotImplementedError。

大多数随机模块的算法和种子函数都会在 Python 版本中发生变化,但保证两个方面不会改变:

1)如果添加了新的播种方法,则将提供向后兼容的播种机。

2)当兼容的播种机被赋予相同的种子时,生成器的 random() 方法将继续产生相同的序列。

基本示例:

>>> random() # Random float: 0.0 <= x 
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x 
3.1800146073117523
>>> expovariate(1 / 5) # Interval between arrivals averaging 5 seconds
5.148957571865031
>>> randrange(10) # Integer from 0 to 9 inclusive
7
>>> randrange(0, 101, 2) # Even integer from 0 to 100 inclusive
26
>>> choice(['win', 'lose', 'draw']) # Single random element from a sequence
'draw'
>>> deck = 'ace two three four'.split()
>>> shuffle(deck) # Shuffle a list
>>> deck
['four', 'two', 'ace', 'three']
>>> sample([10, 20, 30, 40, 50], k=4) # Four samples without replacement
[40, 10, 50, 30]

想必通过以上对python中random()函数的用法结合实例展示,大家已经有一定认知了吧