一、使用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])
代码语言:javascript复制import random
random.seed(1)
print(random.random())
print(random.random())
print(random.random())
当种子传入固定的值后,每次返回的随机数会是一个固定值,注意:这里的“每次”要理解为“每次执行程序,而不是每次执行语句”,比如上面示例中的代码执行后输出结果:
代码语言:javascript复制0.13436424411240122
0.8474337369372327
0.763774618976614
当再次执行程序时,返回的结果依然是上面的结果。
random.random( )
代码语言:javascript复制import random
print(random.random())
random.randint(a, b)
代码语言:javascript复制# 在[1, 10]之间随机返回一个数
import random
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
random.randrange(a, b, [c])
代码语言:javascript复制# 在[0, 101)之间随机返回一个偶数
import random
print(random.randrange(0, 101, 2))
random.getrandbits(x)
代码语言:javascript复制# 在[000(B), 111(B)]之间随机返回一个数
import random
print(random.getrandbits(3))
random.uniform(a, b)
代码语言:javascript复制# 在[0, 5)之间随机返回一个浮点数
import random
print(random.uniform(0, 5))
random.choice(seq)
代码语言:javascript复制import random
a = [1, 2, 3]
b = "hello"
c = ("hello", "python")
print(random.choice(a))
print(random.choice(b))
print(random.choice(c))
运行结果:
代码语言:javascript复制1
h
hello
random.sample(seq, n)
代码语言:javascript复制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))
运行结果:
代码语言:javascript复制[3, 2]
['l', 'h']
['hello', 'python']
random.shuffle(list)
代码语言:javascript复制import random
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(a)
print(a)
运行结果:
代码语言:javascript复制[6, 5, 9, 8, 10, 7, 3, 2, 1, 4]