python使用random,python3 random模块
随机模块主要包含生成伪随机数的各种函数变量和函数。
在Python的交互解释器中,先导入random模块,再输入random。__all__ command (__all__变量代表模块开放的公共接口),可以看到模块包含的所有属性和函数:
随机的。__全部_ _
[Random , seed , Random , uniform , randint , choice , sample , randrange , shuffle , normalvariate ,
lognormvariate , expovariate , vonmisesvariate , gammavariate , triangular , gauss , betavariate ,
Pareto vary , Weibull vary , getstate , setstate , getrandom , choices , systemrandom]在random模块下提供以下常用函数:
Random.seed(a=None,version=2):指定种子以初始化伪随机数生成器。
Random.randrange (start,stop [,stop]):返回从开始到停止步进的随机数。实际上相当于choice(range(start,stop,step))的效果,但实际底层并不生成区间对象。
Random.randint(a,b):在A N B范围内生成一个随机数,等效于randrange(a,b 1)的效果。
Random.choice(seq):从seq中随机选择一个元素,如果seq为空,则抛出IndexError异常。
Random.choices (seq,weights=none,cum _ weights=none,k=1):从seq的序列中提取k个元素,用weights指定每个提取元素的权重(代表被提取的可能性)。
Random.shuffle(x[,random]):打乱X序列的“随机排列”。
Random.sample(population,k):从总体序列中随机选择k个独立元素。
Random.random():生成一个0.0(含)到1.0(不含)的伪随机浮点数。
Random.uniform(a,b):生成a n b范围内的随机数。
Random.expovariate(lambd):生成指数分布的随机数。其中lambda参数(其实应该是lambda,但lambda是Python关键字,所以缩写为lambda)是1除以期望平均值。如果lambd为正,返回的随机数从0到正无穷大;如果lambd为负,则返回的随机数从负无穷大到0。
下面的程序演示了随机模块中常用函数的功能和用法:
随机输入
#生成范围为0.0x1.0的伪随机浮点数
print(random.random())
#生成范围为2.5x10.0的伪随机浮点数
打印(随机.统一(2.5,10.0))
#生成具有指数分布的伪随机浮点数
print(random.expovariate(1/5))
#生成从0到9的伪随机整数
print(random.randrange(10))
#生成一个从0到100的随机偶数
print(random.randrange(0,101,2))
#随机绘制一个元素
print(random.choice([Python , Swift , Kotlin]))
book_list=[Python , Swift , Kotlin]
#随机排列列表元素
random.shuffle(图书_列表)
打印(book_list)
随机选择# 4个独立元素
Print (random.sample ([10,20,30,40,50],k=4))运行上面的程序,可以看到下面的输出结果:
0.7097266660597923
6.4845555071809535
9.707899380000603
注射毒品
70
大蟒
[Swift , Python , Kotlin]
[20,10,30,50]其实利用random模块中的random函数可以做很多有趣的事情。例如下面程序:
随机输入
导入集合
#指定随机选取6个元素,每个元素的权重(概率)不同。
print(random.choices([Python , Swift , Kotlin],[5,5,1],k=6))
#以下模拟从52张扑克牌中抽取20张。
#在拍摄的20张牌中,正面为10(包括J、Q和K)的牌占多少百分比
#生成一组16张10(代表10)和36张低牌(代表其他牌)
deck=集合。计数器(十=16,低牌=36)
# 20张牌是从52张牌中随机选出的
seen=random . sample(list(deck . elements()),k=20)
#数一数有多少个十位元素,除以20。
Print(seen.count(tens)/20)运行上述程序,可以看到以下输出结果:
[Swift , Swift , Swift , Swift , Python , Swift]
0.45
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。