【python】之random模块,随机数发生器!

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

一.random模块的安装

使用pip接口进行安装

pip install random

二.random库基本函数使用

  1. random模块导入

import random
  1. random()用于生成一个0到1的随机浮点数

random.random()

输出:

  1. seed(n)用于设定种子值,其中n可以是任意数字,random()生成随机数的时候,每一个数字都是随机的,但使用seed(n)设定种子值后,先调用seed(),在使用random(),生成的随机值将是相同的,看下面代码示范。

random.seed(3)

random.random()

random.seed(3)

random.random()

输出:

【python】之random模块,随机数发生器!_第1张图片

4.uniform(a,b)用于返回a,b之间的随机浮点数,如a<=b则返回[a,b]范围内,如a>=b则返回[b,a]范围内,a和b可以是实数,浮点数,负数。

random.uniform(5,15)

random.uniform(5.5,15.9)

random.uniform(-5.5,15.9)

输出:

【python】之random模块,随机数发生器!_第2张图片

5.randint()返回a,b之间的整数,范围[a,b],要注意的是,传入的参数必须是整数,然后a一定要比b小。

random.randint(3,9)  ###传入a为3,b为9的整数

random.randint(9,3)  ###传入a为9,b为3的整数

输出:

传入a大于b的数时候,就会报错

6.randrange(start,stop)返回start到stop内的整数,可以设置step,注意 只能传入整数。

random.randrange(10,30)

random.randrange(10,50,4)

random.randrange(10,50,4)

输出:

【python】之random模块,随机数发生器!_第3张图片

上图代码(2)randrange(10,50,4) step为4,3x4=12 10+12=22

7.choice(x) 返回(x可以为序列、列表、元组、字符串)中随机一个元素

random.choice('wadd')

random.choice(['12','aw','wad'])

输出:

8.choices(x,k=x) 随机获取k个元素,k用于传参,不写则默认取一个。

random.choices('wadd',k=2)

输出:

9.shuffle(x) 用于将列表中的元素打乱,x为一个list

a = ['123','321','abc','cba']

random.shuffle(a)

print(a)

输出:

【python】之random模块,随机数发生器!_第4张图片

10.sample(x,k) 从指定的x中随机获取k个不重复元素作为一个list返回,sample函数不会修改原有序列,x为一个序列。

x = [3,4,5,6,7,8,9]

random.sample(x,4)

输出:

三.实际运用

random库在很多项目都有用到,这边用random库编写一个福彩双色球随机生成项目,让大家更深入的认识random库。

import random

###定义6个红球,这边用到了sample()随机获取6个元素以list形式返回
red = random.sample(range(1,34),6)  

###返回的list形式是打乱的,这边可以用到sort()函数排序
red.sort()
print(red)

###得到了红球后,然后定义蓝色球,用相同的方式sample()随机获取1个元素
blue = random.sample(range(1,17),1)

###打印
print('随机一注:',red,'+',blue)

输出:

这样很简单的一个项目就完成啦,自己动手试一下吧。

@Neng

你可能感兴趣的:(python,python,pip)