首页技术python random函数,random函数用法

python random函数,random函数用法

编程之家2026-06-21917次浏览

很多朋友对于python random函数和random函数用法不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

python random函数,random函数用法

python中random什么意思

Random意思是返回一个0~num-1之间的随机数。random(num)是在stdlib.h中的一个宏定义。num和函数返回值都是整型数。

如需要在一个random()序列上生成真正意义的随机数,在执行其子序列时使用randomSeed()函数预设一个绝对的随机输入,例如在一个断开引脚上的analogRead()函数的返回值。

Random的作用

Random使用之前需要使用Randomize语句进行随机数种子的初始化。RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。

RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。这也正是RANDOMIZE随机初始化的作用。 VB里用 NEW RANDOM()来表示初始化。

Python random模块常用方法

Python random模块常用方法

python random函数,random函数用法

这篇文章主要介绍了Python random模块常用方法,本文罗列了最常用的方法,需要的朋友可以参考下

代码如下:

import random

print random.random()

获取一个小于1的浮点数

代码如下:

import random

random.randint(1,10)

获取一个从1到10的整数

代码如下:

import random

print random.uniform(0,2)

获取一个大于0小于2的浮点数

代码如下:

import random

print random.randrange(1,10,4)

获取一个从1到10步长为4的随机数

代码如下:

import random

a=[1,2,3,4,5]

random.choice(a)

从列表a从随机取出一个元素

代码如下:

import random

a=[1,2,3,4,5]

random.shuffle(a)

打乱列表a里元素的顺序

代码如下:

import random

a=[1,2,3,4,5]

random.sample(a,3)

从列表a中以随机顺序取出3个元素(一个元素只能取出一次,所以取出的个数不能大于列表所含元素的个数)

用python生成随机数的几种方法

1从给定参数的正态分布中生成随机数

当考虑从正态分布中生成随机数时,应当首先知道正态分布的均值和方差(标准差),有了这些,就可以调用python中现有的模块和函数来生成随机数了。这里调用了Numpy模块中的random.normal函数,由于逻辑非参简单,所有直接贴上代码如下:

import numpy as np#定义从正态分布中获取随机数的函数def get_normal_random_number(loc, scale):""":param loc:正态分布的均值:param scale:正态分布的标准差:return:从正态分布中产生的随机数"""#正态分布中的随机数生成 number= np.random.normal(loc=loc, scale=scale)#返回值 return number#主模块if __name__=="__main__":#函数调用 n= get_normal_random_number(loc=2, scale=2)#打印结果 print(n)#结果:3.275192443463058

2从给定参数的均匀分布中获取随机数的函数

考虑从均匀分布中获取随机数的时候,要事先知道均匀分布的下界和上界,然后调用Numpy模块的random.uniform函数生成随机数。

import numpy as np#定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high):""":param low:均匀分布的下界:param high:均匀分布的上界:return:从均匀分布中产生的随机数"""#均匀分布的随机数生成 number= np.random.uniform(low, high)#返回值 return number#主模块if __name__=="__main__":#函数调用 n= get_uniform_random_number(low=2, high=4)#打印结果 print(n)#结果:2.4462417140153114

3按照指定概率生成随机数

有时候我们需要按照指定的概率生成随机数,比如已知盒子中每种颜色的球的比例,猜测下一次取出的球的颜色。在这里介绍的问题和上面的例子相似,要求给定一个概率列表,从列表对应的数字列表或区间列表中生成随机数,分两部分讨论。

3.1按照指定概率从数字列表中随机抽取数字

假设给定一个数字列表和一个与之对应的概率列表,两个列表对应位置的元素组成的元组即表示该数字在数字列表中以多大的概率出现,那么如何根据这些已知条件从数字列表中按概率抽取随机数呢?在这里我们考虑用均匀分布来模拟概率,代码如下:

import numpy as npimport random#定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high):""":param low:均匀分布的下界:param high:均匀分布的上界:return:从均匀分布中产生的随机数"""#均匀分布的随机数生成 number= np.random.uniform(low, high)#返回值 return number#定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list):""":param number_list:数字列表:param pro_list:数字对应的概率列表:return:按概率从数字列表中抽取的数字"""#用均匀分布中的样本值来模拟概率 x= random.uniform(0, 1)#累积概率 cum_pro= 0.0#将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro+= number_pro if x< cum_pro:#返回值 return number#主模块if __name__=="__main__":#数字列表 num_list= [1, 2, 3, 4, 5]#对应的概率列表 pr_list= [0.1, 0.3, 0.1, 0.4, 0.1]#函数调用 n= get_number_by_pro(number_list=num_list, pro_list=pr_list)#打印结果 print(n)#结果:1

3.2按照指定概率从区间列表中的某个区间内生成随机数

给定一个区间列表和一个与之对应的概率列表,两个列表相应位置的元素组成的元组即表示某数字出现在某区间内的概率是多少,已知这些,我们如何生成随机数呢?这里我们通过两次使用均匀分布达到目的,代码如下:

import numpy as npimport random#定义从均匀分布中获取随机数的函数def get_uniform_random_number(low, high):""":param low:均匀分布的下界:param high:均匀分布的上界:return:从均匀分布中产生的随机数"""#均匀分布的随机数生成 number= np.random.uniform(low, high)#返回值 return number#定义从一个数字列表中以一定的概率取出对应区间中数字的函数def get_number_by_pro(number_list, pro_list):""":param number_list:数字列表:param pro_list:数字对应的概率列表:return:按概率从数字列表中抽取的数字"""#用均匀分布中的样本值来模拟概率 x= random.uniform(0, 1)#累积概率 cum_pro= 0.0#将可迭代对象打包成元组列表 for number, number_pro in zip(number_list, pro_list): cum_pro+= number_pro if x< cum_pro:#从区间[number. number- 1]上随机抽取一个值 num= get_uniform_random_number(number, number- 1)#返回值 return num#主模块if __name__=="__main__":#数字列表 num_list= [1, 2, 3, 4, 5]#对应的概率列表 pr_list= [0.1, 0.3, 0.1, 0.4, 0.1]#函数调用 n= get_number_by_pro(number_list=num_list, pro_list=pr_list)#打印结果 print(n)#结果:3.49683787011193

关于python random函数,random函数用法的介绍到此结束,希望对大家有所帮助。

水平滚动条?水平滚动条怎么设置ai生活节党员管理不严格小主题,易车和百度Apollo联合举办“AI汽车生活节”