随机失控玩家

117 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情

前言

  • 随机应该来说我们开发中必不可少的一个功能,就比如说日志中会产生随机数用来均分,集群中我们通过随机来分摊请求。
  • 在python中又该如何随机生成内容呢?
给随机数对象一个种子值,用于产生随机序列。
对于同一个种子值的输入,之后产生的随机数序列也一样。

我们知道在由于random包中生成的是伪随机数,因此通过设置seed可以固定住随机结果。

但有一次使用时发现设置完seed之后结果依然改变:

场景

**比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。

计算机通过硬件技术摸拟现实世界中这种物理现象所生成的随机数,我们称其为真随机数。 这样的随机数生成器叫做物理性随机数生成器。生成真随机数对计算机的硬件技术要求较高。**

使用


import random 
random.random()

random.random() 用于生成一个0-1的随机浮点数:0<=n<1.0

浮点型

那么浮点型该如何生成呢?random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,两个参数中,一个是上限,一个是下限,位置可以互换。if a<b,则生成的随机数n:a<=n<b;else 同理。

随机去数据

random.choice(sequence) 从序列中获取一个随机元素,参数sequence表示一个有序类型,泛指一系列类型,如list,tuple,字符串。

总结

最后还得说一下随机种子数,要每次产生随机数相同就要设置种子,相同种子数的random对象,相同次数生成的数字时完全相同的。

最后的最后我们还是需要注意随机需要做到严格的控制,否则失控就不好玩了