random即随机数发生器,使用之前需要使用Randomize语句进行随机数种子的初始化。RANDOM产生的是伪随机数或者说是用一种复杂的方法计算得到的序列值,因此每次运算时需要一个不同的种子值。种子值不同,得到的序列值也不同。因此也就是真正的随机数了。这也正是RANDOMIZE随机初始化的作用。
一.random模块的安装
使用pip接口进行安装
pip install random
二.random库基本函数使用
random模块导入
import random
random()用于生成一个0到1的随机浮点数
random.random()
输出:
seed(n)用于设定种子值,其中n可以是任意数字,random()生成随机数的时候,每一个数字都是随机的,但使用seed(n)设定种子值后,先调用seed(),在使用random(),生成的随机值将是相同的,看下面代码示范。
random.seed(3)
random.random()
random.seed(3)
random.random()
输出:
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)
输出:
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)
输出:
上图代码(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)
输出:
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