一、使用Random库
import Random
Random库是Python的标准库,所以安装了python环境,正常情况下就可以使用Random库。
二、常用函数
| 序号 | 函数 | 含义 | 用法 | 备注 |
|---|---|---|---|---|
| 1 | random.seed([x]) | 改变随机数生成器的种子 | x为种子,可为整形或浮点型,默认为当期系统时间 | |
| 2 | random.random( ) | 返回[0,1)之间的一个随机浮点数 | 可返回0,不会返回1 | |
| 3 | random.randint(a, b) | 返回[a, b]之间的一个随机整数 | a, b需使用整数 | 可返回a和b |
| 4 | random.randrange(a, b, [c]) | 返回[a, b)之间以c为步长的一个随机整数 | a, b, c需为整数,c默认为1 | 可返回a,不会返回b |
| 5 | random.getrandbits(x) | 返回一个x比特长的一个随机整数 | x需为整数 | x表示二进制的位数,返回值是一个0到2^x-1范围内的一个随机数,包括0和2^x-1 |
| 6 | random.uniform(a, b) | 返回[a, b)之间的一个随机浮点数 | a, b可为整形或浮点型 | 可返回a,不会返回b |
| 7 | random.choice(seq) | 返回一个列表、元组或字符串中的一个随机项。 | seq为字符串、列表或元组 | |
| 8 | random.sample(seq, n) | 返回n个列表、元组或字符串中的随机项。 | seq为字符串、列表或元组,n为整数 | 返回值为列表 |
| 9 | random.shuffle(list) | 将序列的所有元素随机排序。 | list为一个列表 | 无返回值 |
三、示例
random.seed([x])
import random random.seed(1) print(random.random()) print(random.random()) print(random.random())当种子传入固定的值后,每次返回的随机数会是一个固定值,注意:这里的“每次”要理解为“每次执行程序,而不是每次执行语句”,比如上面示例中的代码执行后输出结果:
0.13436424411240122 0.8474337369372327 0.763774618976614当再次执行程序时,返回的结果依然是上面的结果。
random.random( )
import random print(random.random())random.randint(a, b)
# 在[1, 10]之间随机返回一个数 import random print(random.randint(1,10)) print(random.randint(1,10)) print(random.randint(1,10))random.randrange(a, b, [c])
# 在[0, 101)之间随机返回一个偶数 import random print(random.randrange(0, 101, 2))random.getrandbits(x)
# 在[000(B), 111(B)]之间随机返回一个数 import random print(random.getrandbits(3))random.uniform(a, b)
# 在[0, 5)之间随机返回一个浮点数 import random print(random.uniform(0, 5))random.choice(seq)
import random a = [1, 2, 3] b = "hello" c = ("hello", "python") print(random.choice(a)) print(random.choice(b)) print(random.choice(c))运行结果:
1 h hellorandom.sample(seq, n)
import random a = [1, 2, 3] b = "hello" c = ("hello", "python", "world") print(random.sample(a, 2)) print(random.sample(b, 2)) print(random.sample(c, 2))运行结果:
[3, 2] ['l', 'h'] ['hello', 'python']random.shuffle(list)
import random a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] random.shuffle(a) print(a)运行结果:
[6, 5, 9, 8, 10, 7, 3, 2, 1, 4]