随机数生成器Python,python如何生成随机数

  随机数生成器Python,python如何生成随机数

  提示:

  Python-伪随机数生成器

  首先,描述随机数和随机数发生器:

  现实生活中的随机数是由抛硬币、骰子、轮子、电子元件噪音、核裂变等物理现象产生的。

  产生这些随机数的方法有很多种,但是产生这些随机数的方法叫做随机数生成器。由上述物理现象产生的随机数发生器称为物理随机数发生器。

  计算机很难做到真正的随机。

  所以一般是伪随机数

  固定算法实现的东西是有规律可循的,不可能是真正的“随机”,但它和随机数具有相同的统计特性。

  线性同余法

  Rand函数和JAVA的java.util.Random类都是用上面的算法实现的。

  a叫乘数,B叫增量,(end-start)叫模数,都是常数。

  然后,设置rOld=rNew,这通常需要用户指定种子号rOld(也叫seed)。当然,你可以自由选择A和B,但如果不能很好地选择两个数,可能会影响数字的随机性。因此,一般说明是:

  a=32310901

  b=1729

  这将使生成的随机数最均匀。

  Defmyrandint (start,end,seed=9999999): a=32310901 #最均匀生成的随机数b=1729 rold=SEEDM=end-startwhiletrue 3360)每次生成一次随机数,所以rew inertia对yield关键字求值以暂停生成器函数的执行,并返回yield关键字后表达式的值。可以把它看作基于生成器的版本的return关键字。ROld=rNew#模拟使用20个不同的种子,每个随机数for iinrange(20):r=myrandint(1,10000,I) # seeds 10个随机数print ,否则每次都会有相同的结果。

  算法以系统时间为种子实现。上述代码只需将seed设置为系统时间即可实现。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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