math --- 数学函数

该模块提供了对C标准定义的数学函数的访问,返回值除非有明确说明,否则所有返回值均为浮点数

  1. math.ceil(x)
  2. 返回 x 的上限,即大于或者等于 x 的最小整数。
  3. 如果 x 不是一个浮点数,则委托 x.__ceil__(), 返回一个 Integral 类的值
  4. >>> math.ceil(3.000000000000001)
  5. 4
  6. >>> math.ceil(3.0000000000000001)
  7. 3
  8. math.floor(x)
  9. 返回 x 的向下取整,小于或等于 x 的最大整数。
  10. 如果 x 不是浮点数,则委托 x.__floor__() ,它应返回 Integral
  11. math.pow(x, y)
  12. 将返回 x y 次幂。
  13. 特殊情况尽可能遵循C99标准的附录'F'
  14. 特别是, pow(1.0, x) pow(x, 0.0) 总是返回 1.0 ,即使 x 是零或NaN
  15. 如果 x y 都是有限的, x 是负数, y 不是整数那么 pow(x, y) 是未定义的,并且引发 ValueError
  16. 与内置的 ** 运算符不同, math.pow() 将其参数转换为 float 类型。
  17. 使用 ** 或内置的 pow() 函数来计算精确的整数幂。
  18. >>> float('nan')
  19. nan
  20. >>> x = float('nan')
  21. >>> math.pow(1.0, x)
  22. 1.0
  23. >>>
  24. >>> math.pow(x, 0.0)
  25. 1.0
  26. math.sqrt(x)
  27. 返回 x 的平方根
  28. math.fabs(x)
  29. 返回 x 的绝对值
  30. math.modf(x)
  31. 返回 x 的小数和整数部分。两个结果都带有 x 的符号并且是浮点数
  32. >>> x = math.pi
  33. >>> a, b = math.modf(x)
  34. >>> a, b
  35. (0.14159265358979312, 3.0)
  36. math.copysign(x, y)
  37. 返回一个基于 x 的绝对值和 y 的符号的浮点数。
  38. 在支持带符号零的平台上,copysign(1.0, -0.0) 返回 -1.0.
  39. >>> math.copysign(-2.0, 1)
  40. 2.0
  41. math.fsum(iterable)
  42. 返回迭代中的精确浮点值。通过跟踪多个中间部分和来避免精度损失
  43. >>> x = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
  44. >>> sum(x)
  45. 0.9999999999999999
  46. >>> math.fsum(x)
  47. 1.0

random --- 生成伪随机数

该模块实现了各种分布的伪随机数生成器
  1. random.random()
  2. 返回 [0.0, 1.0) 范围内的下一个随机浮点数
  3. >>> random.random()
  4. 0.07695673120939395
  5. random.randrange(stop)
  6. random.randrange(start, stop[, step])
  7. range(start, stop, step) 返回一个随机选择的元素。
  8. 这相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象
  9. # 就只能在1,3这两个元素中选择了
  10. >>> random.randrange(1, 5, 2)
  11. 3
  12. [a, b]区间选择随机数
  13. random.randint(a, b)
  14. 返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)
  15. random.uniform(a, b)
  16. 返回一个随机浮点数 N ,当 a <= b a <= N <= b ,当 b < a b <= N <= a
  17. 取决于等式 a + (b-a) * random() 中的浮点舍入,终点 b 可以包括或不包括在该范围内
  18. random.choice(seq)
  19. 从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError
  20. >>> x
  21. [10, 7, 5, 8, 8]
  22. >>> random.choice(x)
  23. 8
  24. >>> random.choice(x)
  25. 7
  26. andom.sample(population, k)
  27. 返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
  28. 返回包含来自总体的元素的新列表,同时保持原始总体不变。
  29. 结果列表按选择顺序排列,因此所有子切片也将是有效的随机样本。 这允许抽奖获奖者(样本)被划分为大奖和第二名获胜者(子切片)。
  30. 总体成员不必是 hashable unique 如果总体包含重复,则每次出现都是样本中可能的选择。
  31. 要从一系列整数中选择样本,请使用 range() 对象作为参数。 对于从大量人群中采样,这种方法特别快速且节省空间:sample(range(10000000), k=60)
  32. 如果样本大小大于总体大小,则引发 ValueError
  33. >>> x = list(range(100))
  34. >>> random.sample(x, 10)
  35. [26, 42, 78, 12, 91, 11, 14, 85, 92, 47]
  36. random.shuffle(x[, random])
  37. 将序列 x 随机打乱位置。
  38. 可选参数 random 是一个0参数函数,
  39. [0.0, 1.0) 中返回随机浮点数;默认情况下,这是函数 random()
  40. 要改变一个不可变的序列并返回一个新的打乱列表,请使用``sample(x, k=len(x))``
  41. 请注意,即使对于小的 len(x),x 的排列总数也可以快速增长,大于大多数随机数生成器的周期。
  42. 这意味着长序列的大多数排列永远不会产生。 例如,长度为2080的序列是可以在 Mersenne Twister 随机数生成器的周期内拟合的最大序列
  43. >>> x = list(range(6))
  44. >>> random.shuffle(x)
  45. >>> x
  46. [3, 0, 1, 4, 2, 5]

math random模块的更多相关文章

  1. Python学习笔记:math模块(数学),random模块(随机数)

    math模块 math模块用于数学意义上的一些计算,常用的方法有: math.pi:PI的值(3.141592653589793). math.floor(x):返回一个小于等于x的最大整数(浮点类型 ...

  2. Python 基础之模块之math random time

    一:math 数学模块import math#(1)ceil() 向上取整操作 (对比内置round)res = math.ceil(6.001)  #注意精度损耗print(res)#(2)floo ...

  3. python数学math和random模块

    math模块 关注公众号"轻松学编程"了解更多. 在使用math模块时要先导入 # 导入模块 import math 1.math.ceil(num) 对num进行向上取整 num ...

  4. Python 内置函数math,random

    内置函数的一些操作 - math(数学模块) - random(随机模块) - 使用内置函数时注意需要导入 math - (ceil)向上取整,返回取整数 # 向上取整,返回向上取整的数 import ...

  5. 转译符,re模块,random模块

    一, 转译符 1.python 中的转译符 正则表达式中的内容在Python中就是字符串 ' \n ' : \ 转移符赋予了这个n一个特殊意义,表示一个换行符 ' \ \ n' :  \ \  表示取 ...

  6. Chrome V8引擎系列随笔 (1):Math.Random()函数概览

    先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...

  7. Math.random()

    Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...

  8. getpass模块和random模块

    getpass模块 用于对密码的隐藏输入案例: import getpass passwd = getpass.getpass("please input your password&quo ...

  9. 如何在一个页面后面随机跳转到多个链接地址Math.floor()和Math.random()

    点击一个标签随机跳转到多个链接地址,主要运用javascript中的Math.floor()和Math.random()方法 floor(x) 方法是向下去整数 参数为任意数值或表达式. floor( ...

随机推荐

  1. Win32Api -- 关闭当前应用

    本文介绍Windows系统下使用Win32API获取当前应用并关闭的方法. 思路 使用EnumWindows接口枚举当前窗口; 过滤掉不可用.隐藏.最小化的窗口: 过滤掉子窗口: 通过标题.类名过滤掉 ...

  2. Linux下搭建ZooKeeper集群

    摘要 Zookeeper是针对大型分布式系统的高可靠的协调系统.它基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题. ...

  3. 12张图打开JMeter体系结构全局视角

    JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定.它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加.在 ...

  4. iPhone去除input默认样式

    /*<!---->去掉苹果短的样式*/ input[type="button"], input[type="submit"], input[type ...

  5. 微信小程序进入广告实现

    <view class="container"> <image src="../../imgs/swiper1.jpg"></im ...

  6. 如何在netcore下,愉快的使用IServiceProvider

    之前一直做dotnet framework开发,依赖注入使用Autofac,Autofac的一般用法是服务启动时,将用到的接口.实现类名注入进去, 然后在服务其他地方如果使用该类时,直接在Contai ...

  7. WPF 基础 - Trigger

    1. Trigger 1.1 由属性值触发的 Trigger 最基本的触发器,Property 是关注的属性名称,value 是触发条件,一旦触发条件满足,就会应用 Trigger 的 Setters ...

  8. Android R 新特性分析及适配指南

    Android R(Android 11 API 30)于2020年9月9日正式发布,随国内各终端厂商在售Android设备的版本更新升级,应用软件对Android R 版本的兼容适配已迫在眉睫. 对 ...

  9. 目标检测入门论文YOLOV1精读以及pytorch源码复现(yolov1)

    结果展示 其中绿线是我绘制的图像划分网格. 这里的loss是我训练的 0.77 ,由于损失函数是我自己写的,所以可能跟大家的不太一样,这个不重要,重要的是学习思路. 重点提示 yolov1是一个目标检 ...

  10. Hive相关的命令

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...