Python标准库之Math,Random模块使用详解

Python标准库之Math,Random模块使用详解

目录

数学模块

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模块的资料请关注易知道(ezd.cc)其它相关文章!

推荐阅读