怎么在Python中使用随机模块生成随机数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
导入随机模块。
import 随机
1, random.random()随机生成0到1之间的浮点数[0.0,1.0)。
打印(“随机:,“,,random.random ()) 随机:#,0.5714025946899135
2,随机的。randint (a, b)随机生成a与b之间的整数[a, b]。
打印(“randint:,,,, random.randint (6、8)) # randint: 8
3, random.randrange(启动、停止、步骤)按步长随步机在上下限范围内取一个随机数。
打印(“randrange:,“, random.randrange (20100 5)) # randrange: 85年,
4,随机的。制服(a, b)随机生成a与b之间的浮点数[a, b]。
打印(“统一:“,random.uniform (5、10)) #制服:5.119790163375776
5, random.choice()从列表中随机取出一个元素,比如列表,元祖,字符串等。注意的是,该方法需要参数非空,否则会抛出IndexError的错误。
打印(“选择:,“,random.choice (“www.yuanxiao.net")) #选择:,y
6, random.shuffle(物品)把列表项中的元素随机打乱。注意的是,如果不想修改原来的列表,可以使用复制模块先拷贝一份原来的列表。
num =, (1,, 2,, 3,, 4,, 5] random.shuffle (num) 打印(“洗牌:,“,num) #洗牌:,(1,,3,,,,,,2]
7,随机的。样本(项目,n)从列表项中随机取出n个元素。
num =, (1,, 2,, 3,, 4,, 5] 打印(“样例:,“,random.sample (num, 3)) #样品:[4,,1,,5]
Python的随机模块产生的随机数其实是伪随机数,依赖于特殊算法和指定不确定因素(种子种子)来实现。如randint方法生成一定范围内的随机数,会先指定一个特定的种子,将种子通过特定的随机数产生算法,得到一定范围内随机分布的随机数,因此对于同一个种子值的输入产生的随机数会相同,省略参数则意味着使用当前系统时间秒数作为种子值,达到每次运行产生的随机数都不一样。
random.seed (2) 打印(“随机:,,,,random.random ()) #随机:0.9560342718892494 random.seed (3) 打印(“随机:,,,,random.random ()) #随机:0.23796462709189137 random.seed(3) #同一个种子值,产生的随机数相同 打印(“随机:,,,,random.random ()) 随机:#,0.23796462709189137
numpy库也提供了随机模块,用于生成多维度数组形式的随机数。使用时需要导入numpy库。
import numpy as np
下面介绍下numpy库的随机模块的几种生成随机数的方法。
1, numpy.random.rand (d0, d1,…, dn)
- <李>
兰德函数根据给定维度生成[0,1]之间的数据,包含0,不包含1
李> <李>dn表格每个维度
李> <李>返回值为指定维度的数组
打印(“np.random.rand: \ n {}“.format (np.random.rand(4,2))), #,形状:4 * 3 “““ np.random.rand: ,[[0.5488135,0.71518937] ,[0.60276338,0.54488318] ,[0.4236548,0.64589411] ,(0.43758721,0.891773,)) “““ 打印(“np.random.rand: \ n {}“.format (np.random.rand(4、3、2))), #,形状:4 * 3 * 2 “““ np.random.rand: ,[[[0.96366276,0.38344152] ,[0.79172504,0.52889492] ,[0.56804456,0.92559664]] ,[[0.07103606,0.0871293,) ,[0.0202184,0.83261985] ,[0.77815675,0.87001215]] ,[[0.97861834,0.79915856] ,[0.46147936,0.78052918] ,[0.11827443,0.63992102]] ,[[0.14335329,0.94466892] ,[0.52184832,0.41466194] ,[0.26455561,0.77423369]]] “““
, 2, numpy.random.randn (d0, d1,…, dn)
- <李>
randn函数返回一个或一组样本,具有标准正态分布。
李> <李>dn表格每个维度
李> <李>返回值为指定维度的数组
李> <李>标准正态分布——标准正态分布
李> <李>标准正态分布又称为u分布,是以0为均值,以1为标准差的正态分布,记为N (0, 1)。
李>打印(“np.random.randn: \ n {}“.format (np.random.randn())), #,当没有参数时,返回单个数据 “““ np.random.randn: ,2.2697546239876076 “““ 打印(“np.random.randn: \ n {}“.format (np.random.randn (2、4))) “““ np.random.randn: ,[[-1.45436567,0.04575852,-0.18718385,1.53277921) ,(1.46935877,0.15494743,0.37816252,-0.88778575)] “““ 打印(“np.random.randn: \ n {}“.format (np.random.randn (4、3、2))) “““ np.random.randn: ,[[[-1.98079647,-0.34791215] ,[0.15634897,1.23029068] ,[-0.38732682,1.20237985]] ,[[-0.30230275,-1.04855297] ,[-1.42001794,-1.70627019] ,[-0.50965218,1.9507754]] ,[[-0.4380743,-1.25279536] ,[0.77749036,-1.61389785] ,[-0.21274028,-0.89546656]] ,[[-0.51080514,0.3869025] ,[-1.18063218,-0.02818223] ,[0.42833187,0.06651722]]] “““怎么在Python中使用随机模块生成随机数