Python随机数模块详情
目录
- 1、生成随机数
- 1.1 random.random() 方法
- 1.2 random.randint方法
- 1.3 random.uniform方法
- 1.4 random.randrange方法
- 2、用于序列的函数
- 2.1 random.choice(seq)
- 2.2 random.shuffle()方法
- 2.3 random.sample()方法
前言:
随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。
1、生成随机数
1.1 random.random() 方法
返回随机生成的一个实数,它在[0,1)范围内。
语法结构:
import random # 导入 random 模块 random.random()
1.2 random.randint方法
语法格式:
random.randint(a,b)
函数返回数字 N
,N
为 a
到 b
之间的数字(a <= N <= b
),包含 a
和 b
1.3 random.uniform方法
语法格式:
random.uniform(a,b)
函数返回一个随机浮点数 N
,当 a <= b
时 a <= N <= b
,当 b < a
时 b <= N <= a
。
1.4 random.randrange方法
语法结构:
random.randrange(start, stop[, step])
- start: 计数从
start
开始。默认是从 0 开始。例如randrange(5)
等价于range(0, 5);
- stop: 计数到
stop
结束,但不包括stop
。例如:randrange(0, 5)
是[0, 1, 2, 3, 4]
没有5 - step:步长,默认为1。例如:
range(0, 5)
等价于randrange(0, 5, 1)
返回一个随机范围内的数字
等价于choice(range(start, stop, step))
示例代码:
import random random_value = random.random() print(random_value) randint_value = random.randint(1, 3) # 返回随机整数 print(randint_value) uniform_value = random.uniform(1, 3) # 返回随机浮点数 print(uniform_value) randrange_value = random.randrange(1, 100, 2) # 1到100步长为2(这里只能取到100以为的奇数) print(randrange_value)
每次运行取到的结果都是不一样的。
2、用于序列的函数
2.1 random.choice(seq)
从非空序列中返回一个随机元素,如果序列为空,则抛出异常
示例代码:
import random value = random.choice(range(1, 100, 2)) # 这个等于random.randrange(1, 100, 2) print(value)
好像洗牌就要用这个方法哎
生成一个验证码的小案例:
import random # 一个生成验证号的小案例 all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' captcha = '' for _ in range(4): a = random.choice(all_chars) captcha += a # 连接字符串 print(captcha)
2.2 random.shuffle()方法
shuffle(list)
方法将序列的所有元素随机排序
示例代码:
import random list1 = ["beautiful" , "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely'] random.s中东服务器http://www.558idc.com/dibai.htmlhuffle(list1) print(list1)
2.3 random.sample()方法
random.sample(sequence, k)
,从指定序列中随机获取指定长度的片断。sample
函数不会修改原有序列。切片长度不能超过原有的长度,否则会抛出异常
示例代码:
import random list1 = ["beautiful", "cute", "beautiful", 'prefect', "beautiful", "甜甜", 'lovely'] list2 = random.sample(list1, len(list1)) print("原列表:", list1) print("新列表:", list2)
这个方法可以给原序列排序并不破坏原有序列
到此这篇关于Python
随机数模块详情的文章就介绍到这了,更多相关Python
随机数模块内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!