翼度科技»论坛 云主机 LINUX 查看内容

Python生成随机数的一个标准库-random

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
1.介绍

Random库Python中用于生成随机数的一个标准库。计算机没有办法产生真正的随机数,但它可以产生伪随机数。
伪随机数是计算机按照一定的运算规则产生的一些数据,只不过这些数据表现为随机数的形式。计算机中采用梅森旋转算法生成为随机序列,序列中的每一个元素就是伪随机数,由于计算机不能产生真正的随机数,所以伪随机数也就被称为随机数。
Random库包含两类函数,常用的有8个:

  • 基本随机函数:seed(),random()
  • 扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
2.基本随机数函数

Python中的随机数使用随机数种子来产生,随机数种子通过梅森旋转算法产生随机序列,这个随机序列是唯一并且确定的,随机序列中的每一个数就是随机数。换句话说,只要随机数种子相同,那么产生的随机序列无论是每一个数,还是数之间的关系都是相同的。
seed(a=None)
初始化给定的随机数种子,默认为当前时间
random()
生成一个[0.0,1.0)之间的随机小数(大于等于0,小于1)。
根据随机数种子产生随机序列,产生后第一次调用该函数,则返回序列的第0个元素;
第二次调用,则返回序列的第1个元素......以此类推。
实例1:
使用默认的随机数种子产生随机数
  1. >>> import random
  2. >>> random.seed()
  3. >>> random.random()
  4. 0.4583742792868192
  5. >>> random.random()
  6. 0.9905749191276231
  7. >>> random.seed()
  8. >>> random.random()
  9. 0.8846207230562237
  10. >>> random.random()
  11. 0.13447072126096293
复制代码
实例2:
使用固定的随机数种子产生随机数
  1. >>> import random
  2. >>> random.seed(10)
  3. >>> random.random()
  4. 0.5714025946899135
  5. >>> random.random()
  6. 0.4288890546751146
  7. >>> random.seed(10)
  8. >>> random.random()
  9. 0.5714025946899135
  10. >>> random.random()
  11. 0.4288890546751146
复制代码
3.扩展随机数函数

randint(a,b)
生成一个[a,b]之间的随机整数(大于等于a,小于等于b)。例如:
  1. >>> import random
  2. #Python小白学习交流群:725638078
  3. >>> random.randint(1,9)
  4. 3
  5. randrange(m,n[,k])        
复制代码
生成一个[m,n)之间以k为步长的随机整数(大于等于m,小于n)。例如:
  1. >>> import random
  2. >>> random.randrange(10,110,10)
  3. 20
  4. getrandbits(k)        
复制代码
生成一个长度为k的二进制随机整数。例如:
  1. >>> import random
  2. >>> random.getrandbits(16)
  3. 17266
  4. uniform(a,b)        
复制代码
生成一个[a,b]之间的随机小数(大于等于a,小于等于b)。例如:
  1. >>> import random
  2. >>> random.uniform(10,20)
  3. 12.484765001518227
  4. choice(seq)        
复制代码
从序列seq中随机选择一个元素。例如:
  1. >>> import random
  2. >>> random.choice((1,2,3,4,5,6,7,8))
  3. 4
  4. shuffle(seq)        
复制代码
将变量序列seq中元素随机排序,并返回给序列的变量。例如:
  1. >>> import random
  2. >>> seq=[1,2,3,4,5,6,7]
  3. >>> random.shuffle(seq)
  4. >>> print(seq)
  5. [4, 3, 2, 1, 7, 6, 5]
复制代码
来源:https://www.cnblogs.com/djdjdj123/p/17356465.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具