[ Python入门教程 ] Python生成随机数模块(random)使用方法

时间:2024-05-30 12:36:08

1、使用randint(a,b)生成指定范围内的随机整数。randint(a,b)表示从序列range([a,b])中获取一个随机数,包括b。

>>> random.randint(0,100)
28
>>> random.randint(0,100)
36
>>> random.randint(0,100)
71

2、使用randrange(start,stop=None,step=1)生成一个随机数。

>>> random.randrange(2,100,2)
40
>>> random.randrange(2,100,2)
32
>>> random.randrange(2,100,2)
12

3、使用choice(seq)从指定序列seq中随机选1个元素

>>> random.choice(range(1,100))
10
>>> random.choice(range(1,100))
36
>>> random.choice(range(1,100))
7

4、使用sampe(seq)从指定序列seq中随机选N个元素

>>> random.sample(range(1,100),3)
[37, 47, 56]
>>> random.sample(range(1,100),3)
[19, 32, 11]
>>> random.sample(range(1,100),3)
[84, 30, 49]
>>>

如果需要生成字母和数字组成的验证码,可以使用如下:

>>> ''.join(random.sample(string.ascii_letters + string.digits, 4))
'bqGf'
>>> ''.join(random.sample(string.ascii_letters + string.digits, 4))
'pMvg'
>>> ''.join(random.sample(string.ascii_letters + string.digits, 4))
'B5ou'

5、原地随机打乱序列元素

>>> lst = [1,2,3,4,5]
>>> random.shuffle(lst)
>>> lst
[2, 5, 1, 4, 3]
>>> random.shuffle(lst)
>>> lst
[5, 2, 4, 1, 3]
>>> random.shuffle(lst)
>>> lst
[1, 2, 3, 4, 5]

6、使用random()生成0-1之间的浮点数值

>>> random.random()
0.5709691034543324
>>> random.random()
0.5198180756095951
>>> random.random()
0.38801983116644256

7、使用getrandbits()生成N个比特位表示的整数

>>> random.getrandbits(16)
17455L
>>> random.getrandbits(16)
6084L
>>> random.getrandbits(16)
23077L