python使用random,python3 random模块

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: