import random
print(random.__all__)
'''
['Random', 'seed', 'random', 'uniform', 'randint', 'choice', 'sample', 'randrange',
'shuffle', 'normalvariate', 'lognormvariate', 'expovariate', 'vonmisesvariate', 'gammavariate',
'triangular', 'gauss', 'betavariate', 'paretovariate', 'weibullvariate', 'getstate', 'setstate',
'getrandbits', 'choices', 'SystemRandom']
通过random.__all__方法可以查看random下暴露的所有公用接口
'''
'''
random.seed()
我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x)
设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会
是同一个。
注意:seed()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法
'''
random.seed(10)
print(random.random())
random.seed(10)
print(random.random())
random.seed(10)
print(random.random())
# 结果:
# 0.5714025946899135
# 0.5714025946899135
# 0.5714025946899135
'''
random.random()
在[0.0,1.0]之间随机生成一个小数
'''
print(random.random())
print(random.random())
print(random.random())
print(random.random())
# 结果:
# 0.9428968560693625
# 0.29722536247737374
# 0.8524653225715761
# 0.8289171315902508
'''
random.uniform(a, b)
在[a,b]之间随机生成一个小数
'''
print(random.uniform(1,2))
print(random.uniform(1,2))
print(random.uniform(1,2))
print(random.uniform(1,2))
# 结果
# 1.4799312472227346
# 1.5328821576397136
# 1.9792617596932158
# 1.3905496608031487
'''
random.randint(a, b)
在[a, b]之间随机生成一个整数
'''
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
print(random.randint(1,10))
# 结果:
# 5
# 8
# 3
# 4
'''
getrandbits(k):
生成一个k比特长度的随机整数(按存储大小的要求获得随机整数)
'''
print(random.getrandbits(3))
# 结果:
# 6
'''
randrange(start,stop[,step])
生成一个[start,stop)之间以step为步数的随机整数 (按域、步长的要求获得随机整数)
'''
print(random.randrange(1, 10, 2))
print(random.randrange(1, 10, 2))
print(random.randrange(1, 10, 2))
# 结果:
# 3
# 9
# 5
'''
choice(seq)
从序列类型seq(如字符串,列表,元组)中随机返回一个元素(用于序列抽1签)
'''
l = [i for i in range(10)]
print(random.choice(l))
print(random.choice(l))
print(random.choice(l))
print(random.choice(l))
# 结果:
# 2
# 5
# 1
# 1
'''
shuffle(seq)
将序列类型seq中元素随机排序,返回打乱后序列,seq被改变(用于序列洗牌)
'''
l = [i for i in range(10)]
random.shuffle(l)
print(l)
random.shuffle(l)
print(l)
random.shuffle(l)
print(l)
# 结果:
# [1, 4, 6, 3, 9, 2, 0, 7, 8, 5]
# [8, 6, 2, 9, 7, 4, 5, 0, 1, 3]
# [7, 4, 3, 0, 9, 5, 1, 6, 2, 8]
'''
sample(seq,k)
从序列类型seq中选取k个元素,以列表类型返回(用于序列抽K签,存入列表)
'''
l = [i for i in range(10)]
print(random.sample(l, 5))
print(random.sample(l, 5))
print(random.sample(l, 5))
print(random.sample(l, 5))
# 结果:
# [1, 9, 6, 2, 8]
# [1, 0, 6, 7, 5]
# [8, 7, 0, 3, 4]
# [2, 1, 5, 0, 4]
网友评论