在开始理解之前,我们需要知道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() 。不应使用关键字参数,因为函数可能会以意想不到的方式使用它们。
拓展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 并在这些边界之间使用指定的模式。下限和上限默认为 0 和 1。模式参数默认为边界之间的中点,给出对称分布。
4、random.betavariate(alpha, 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 是浓度参数,必须大于或等于 0。如果 kappa 等于 0,则分布减少到 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 < 1.0
0.37444887175646646
>>> uniform(2.5, 10.0) # Random float: 2.5 <= x < 10.0
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()函数的用法结合实例展示,大家已经有一定认知了吧~如需了解更多python实用知识,点击进入
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中合并excel数据10/12
- ♥ python拼音模块的特点12/13
- ♥ 如何输入python转义字符?10/01
- ♥ python遗传算法的优化过程是怎样的?12/25
- ♥ Python垃圾回收机制详解11/28
- ♥ python如何判断一个变量是否为none?11/03
内容反馈