一、使用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 hello
random.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]