Python Random库的使用

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()函数 就会很好了,因为他生成的随机数是固定的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math...
    GB_speak阅读 41,241评论 2 6
  • 碎碎念大半年的辞职终于完成了,明明对日常的接纳已经可以做的不错了,在最后还是骄纵了自己,说不干就不干了。 ...
    北方赵五阅读 355评论 0 0
  • 刚刚,我给我妈打电话。我妈问,你找谁?我说了一句,妈~我妈哦了一声,又问,你找谁? 我说要买一份大礼送给她,妈说,...
    余弦先生阅读 484评论 0 2
  • “田家少闲月,五月人倍忙。夜来南风起,小麦覆陇黄”,作为农民的儿子,每到麦收季节,我都会和亲人、朋友谈起往年收麦子...
    叶小秋123阅读 406评论 0 5
  • 某日的罗辑思维推荐了《医学的真相》这本书,一轮通读下来发现,这哪里是一本医学的书,根本谈的是更加通用的道理,如果用...
    黄上黄阅读 609评论 0 1