Python模块学习:random模块
曾多次提到过random模块,在这节将详细的介绍一下random模块的用法。random模块主要为我们提供一些生成随机数的功能,下面表格总结了random模块中几个常用函数。
函数名 | 功能 |
random.random() | 生成一个[0,1)的实数。 |
random.randint(a,b) | 生成一个[a,b]的数字,包含a和b。 |
random.randrange(a,b) | 生成一个[a,b)的数字,包含a,不包含b。 |
random.shuffle(x) | 把序列x打乱。 |
random.choice(x) | 从x中返回一个随机项,x需要是一个可变序列。 |
random.uniform(a,b) | 生成一个a,b之间的浮点数,区间可以是浮点数。 |
1. random.random()
生成一个0-1的随机浮点数,看下面的例子:
1234567 | import random
a
= random.random()
b
= random.random()
c
= random.random()
print
(a)
print
(b)
print
(c) |
输出结果为:
123 | 0.787965560268062
0.20524486179856316
0.8732074424182436 |
我们可以看出返回的浮点数的值和位数都不一定相同。
2. random.randint(a,b)
我需要注意randint和randrange的区别,randint是包含a和b,后面会提到的randrange是不含a和b的。
我们可以通过测试来看一下是否包含上下限,代码如下:
1234567 | import random
a
= random.randint(
1
,
3
)
b
= random.randint(
1
,
3
)
c
= random.randint(
1
,
3
)
print
(a)
print
(b)
print
(c) |
输出结果为:
123 | 3
1
2 |
我们可以看出是包含a和b的值的。
3. random.randrange(a,b)
我们主要通过测试来看一下这种方法是否包含a和b的值,看下面代码:
123456789 | import random
a
= random.randrange(
1
,
3
)
b
= random.randrange(
1
,
3
)
c
= random.randrange(
1
,
3
)
d
= random.randrange(
1
,
3
)
print
(a)
print
(b)
print
(c)
print
(d) |
输出结果为:
1234 | 2
2
1
2 |
通过测试结果我们可以看出只有1和2,是不包含下界3的,大家也可以自己尝试一下运行一下。
4. random.shuffle(x)
random.shuffle(x)函数我们在第二节中使用过,它可以将一个序列进行重新排序,但是需要注意,它只针对于可改变的序列,因此它常被用于打乱列表中的元素。
12345 | import random
a
= [
'd'
,
'o'
,
't'
,
'c'
,
'p'
,
'p'
]
print
(
'打乱前的列表:'
,a)
random.shuffle(a)
print
(
'打乱后的列表:'
,a) |
输出结果为:
12 | 打乱前的列表: [
'd'
,
'o'
,
't'
,
'c'
,
'p'
,
'p'
]
打乱后的列表: [
'c'
,
'd'
,
'p'
,
'p'
,
't'
,
'o'
] |
5. random.choice(x)
random.choice(x)可以返回一个序列中的一个随机元素,它的使用方式如下:
1234567 | import random
a
= [
'd'
,
'o'
,
't'
,
'c'
,
'p'
,
'p'
]
b
= 'dotcpp'
c
= (
'd'
,
'o'
,
't'
,
'c'
,
'p'
,
'p'
)
print
(random.choice(a))
print
(random.choice(b))
print
(random.choice(c)) |
输出结果为:
123 | o
d
p |
6. random.uniform(a,b)
用于生成指定范围内的随机浮点数,代码如下:
1234567 | import random
a
= random.uniform(
1.1
,
3.3
)
b
= random.uniform(
5
,
6
)
c
= random.uniform(
100
,
200
)
print
(a)
print
(b)
print
(c) |
输出结果为:
123 | 2.5802656579509087
5.977193880181603
141.03779834775494 |
7. 总结
关于random模块的功能就 讲到这里,上面六种用法囊括了生成随机数的常用方法,如果想要使用更多的random模块中的方法,可以在Python帮助文档中进行查阅学习。