目录
- 数学模块
- ceil — 上取整
- floor — 下取整
- 四舍五入
- pow — 幂运算
- sqrt — 开平方运算
- fabs — 绝对值
- modf — 拆分整数小数
- copysign — 正负拷贝
- fsum — 序列和
- pi — 圆周率常数
- factorial — 因数
- 随机模块
- random — 获取 0~~1 之间的小数
- randrange — 获取指定范围内的整数
- randint — 获取指定范围整数
- uniform — 获取指定范围内随机小数(左闭右开)
- choice — 随机获取序列中的值(多选一)
- sample — 随机获取序列中的值(多选多,返回列表)
- shuffle — 随机打乱序列中的值(原地址操作)
数学模块
import math
ceil — 上取整
对一个数向上取整(进一法),取相邻最近的两个整数的最大值。
import math res = math.ceil(4.1) print(res) # 5
floor — 下取整
对一个数向下取整(退一法),取相邻最近的两个整数的最小值。
import math res = math.floor(-3.9) print(res) # -4
四舍五入
将常用的内置函数 — round。
pow — 幂运算
计算一个数字的N次方。
import math """ 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """ # 数学模块 res = math.pow(2, 3) print(res) # 8.0 # 内置函数 res = pow(2, 3) print(res) # 8 # 更简单的方法就是使用 ** 进行幂运算 res = 2 ** 3 print(res) # 8
sqrt — 开平方运算
import math res = math.sqrt(9) # 结果为浮点型 print(res) # 3.0
fabs — 绝对值
import math """ 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """ # 数学模块 res = math.fabs(-12341234123) print(res) # 12341234123.0 # 内置函数 res = abs(-12341234123) print(res) #12341234123
modf — 拆分整数小数
将一个数值拆分为小数和整数两个部分,组成元组,值为浮点型。
import math res = math.modf(100.666) print(res) # (0.6659999999999968, 100.0)
copysign — 正负拷贝
将第二个参数的正负状态拷贝给第一参数。(返回浮点型)
import math res = math.copysign(100, -200) print(res) # -100.0
fsum — 序列和
将一个容器中的元素进行求和运算(结果为浮点数)
import math lst = [1, 2, 3] res = math.fsum(lst) print(res) # 6.0
pi — 圆周率常数
import math res = math.pi print(res) # 3.141592653589793
factorial — 因数
import math # 求5的因数 factor = math.factorial(5) print(factor) # 120
随机模块
import random
random — 获取 0~~1 之间的小数
random 随机获取0 ~ 1之间的小数(左闭右开)0 <= x < 1
import random res = random.random() print(res) # 0.15195915170299268
randrange — 获取指定范围内的整数
语法:rangrange(start, end[, step])
randint — 获取指定范围整数
语法:randint(a, b)
相比 randrange 灵活性低,但是结束值可用
uniform — 获取指定范围内随机小数(左闭右开)
import random # uniform 获取指定范围内的随机小数(左闭右开) res = random.uniform(1, 3) print(res) # 2.81589512983781 # 因为内置机制的原因(uniform 可以将数值颠倒,并达到相同的效果) res = random.uniform(3, 1) print(res) # 1.4023313207919326
choice — 随机获取序列中的值(多选一)
import random # 可以尝试使用 randrange 实现 lst = ['A', 'B', 'C', 'D', 'E'] res = random.choice(lst) print(res) # E
sample — 随机获取序列中的值(多选多,返回列表)
语法:sample(poplation, num)
import random lst = ['A', 'B', 'C', 'D', 'E', 'F'] res = random.sample(lst, 1) print(res) # ['F'] res = random.sample(lst, 2) print(res) # ['C', 'A']
shuffle — 随机打乱序列中的值(原地址操作)
import random lst = ['A', 'B', 'C', 'D', 'E', 'F'] random.shuffle(lst) print(lst) # ['F', 'D', 'C', 'B', 'E', 'A']
实现随机验证码
import random def getVer(): ver_code = '' # 随机抽取四个字符 for i in range(4): s_char = chr(random.randrange(97, 123)) b_char = chr(random.randrange(65, 91)) num = str(random.randrange(10)) lst = [s_char, b_char, num] ver_code += random.choice(lst) return ver_code ver = getVer() print(ver) # b4Vq
以上就是Python标准库之Math,Random模块使用详解的详细内容,更多关于Python Math Random模块的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)