random模块的作用是产生随机数。

import random

num = random.randint(1,100)

random.randint(a, b)可以生成一个a到b间的随机整数,包括a和b。

a、b都必须是整数,且必须b≥a。当等于的时候,比如:

random.randint(3, 3)

的结果就永远是3

除了randint,random模块中比较常用的方法还有:

random.random()

生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。

random.uniform(a, b)

生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小。

random.uniform(1.5, 3)

random.uniform(3, 1.5)

这两种参数都是可行的。

random.uniform(1.5, 1.5)永远得到1.5。

random.choice(seq)

从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。

random.choice([1, 2, 3, 5, 8, 13]) #list

random.choice('hello') #字符串

random.choice(['hello', 'world']) #字符串组成的list

random.choice((1, 2, 3)) #元组

都是可行的用法。

random.randrange(start, stop, step)

生成一个从start到stop(不包括stop),间隔为step的一个随机数。start、stop、step都要为整数,且start<stop。

比如:

random.randrange(1, 9, 2)

就是从[1, 3, 5, 7]中随机选取一个。

start和step都可以不提供参数,默认是从0开始,间隔为1。但如果需要指定step,则必须指定start。

random.randrange(4) #[0, 1, 2, 3]

random.randrange(1, 4) #[1, 2, 3]

random.randrange(start, stop, step)其实在效果上等同于

random.choice(range(start, stop, step))

random.sample(population, k)

从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。

random.shuffle(x)

把序列x中的元素顺序打乱。shuffle直接改变原有的序列。

以上是random中常见的几个方法。如果你在程序中需要其中某一个方法,也可以这样写:

from random import randint

randint(1, 10)

最新文章

  1. google-analytics的使用: 解析页面引入代码
  2. 嵌套循环中break、continue的用法
  3. JavaScript入门篇 第三天(认识DOM)
  4. 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收
  5. [原创] hadoop学习笔记:卸载和安装jdk
  6. poj1125(Floyd最短路)
  7. TabHost Tab的添加和删除
  8. 第十三篇、Swift_Nav自定义返回按钮后或者隐藏导航栏,Pop返回手势失效的解决方法 Pop全局返回添加的方法
  9. 将258.369 double值转为内存表示(科学计数法)
  10. PAT (Advanced Level) 1024. Palindromic Number (25)
  11. vijos1325 桐桐的糖果计划
  12. HDU 1754 I Hate It(线段树之单点更新,区间最值)
  13. hdu 4777 树状数组+合数分解
  14. 01安卓像素 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算
  15. 零基础java的福音!史上最全最精简的学习路线图!
  16. Maven项目无法找到mybatis的xml映射文件
  17. 【LCA】求和VII @北京OI2018
  18. Unity shader 官网文档全方位学习(一)
  19. rcnn系列
  20. element——message-box

热门文章

  1. Gemini.Workflow 双子工作流入门教程四:流程应用
  2. centos下安装nodejs及websocket
  3. Wannafly挑战赛12 A 银行存款 【DP】【DFS】
  4. PAT 甲级 1128. N Queens Puzzle (20) 【STL】
  5. 线上cpu100%问题快速定位
  6. ES6 Class基本用法
  7. html5--2.5新的布局元素(4)-aside/nav
  8. hdu 6103(Kirinriki)
  9. ACM学习历程—HDU5410 CRB and His Birthday(动态规划)
  10. 【LeetCode】027. Remove Element