美文网首页
Python Random库的使用

Python Random库的使用

作者: 小星star | 来源:发表于2019-02-13 16:32 被阅读0次

    random库用于生成随机数

    • 基本随机数函数: seed(), random()
    • 扩展随机数函数: randint(), getrandbits(), uniform(),
      randrange(), choice(), shuffle()
    1. seed(a=None)
      初始化给定的随机数种子,默认为当前系统时间
      random.seed(10) #产生种子10对应的序列
      
    2. random()
      生成一个[0.0, 1.0)之间的随机小数
      random.random()
      
    3. 常用的 经过扩展的 random()方法


      image.png
    函数 描述
    randint(a, b) 生成一个[a, b]之间的整数
    randrange(m, n[, k]) 生成一个[m, n)之间以k为步长的随机整数
    getrandbits(k) 生成一个k比特长的随机整数
    uniform(a, b) 生成一个[a, b]之间的随机小数
    choice(seq) 从序列seq中随机选择一个元素
    shuffle(seq) 将序列seq中元素随机排列,返回打乱后的序列
    random.randint(10, 100)
    64
    random.randrange(10, 100, 10)
    80
    random.getrandbits(16)
    37885
    random.uniform(10, 100)
    13.096321648808136
    random.choice([1,2,3,4,5,6,7,8,9])
    8 
    s=[1,2,3,4,5,6,7,8,9];random.shuffle(s);print(s)
    [3, 5, 8, 9, 6, 1, 2, 7, 4]
    
    1. random是如何生成随机数的呢?


      图一
      图二

      请注意图二中,左边的代码,产生了两个随机数,而那两个随机数恰好就是 图一中 序列的前两个;而右边的代码则是生成完全相同的两个随机数

      所以 seed(10) 生成一个随机数序列,之后random()会按照顺序一次取出这个随机数序列中的随机数

    2. 我们什么时候会使用seed()函数呢?直接默认的用系统当前时间岂不是更好?
      当我们的程序希望 生成的随机数能够 复现 的时候,那么设置 seed()函数 就会很好了,因为他生成的随机数是固定的

    相关文章

      网友评论

          本文标题:Python Random库的使用

          本文链接:https://www.haomeiwen.com/subject/zsedeqtx.html