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模块的资料请关注我们其它相关文章!
赞 (0)