python常用标准库(math数学模块和random随机模块)
常用的标准库
数学模块
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随机模块)的更多相关文章
- 模块之-random(随机模块)
模块之-random(随机模块) random #shuffle 洗牌功能 >>> i=[1,2,3,4,5,6] >>> random.shuffle(i) &g ...
- Python 3标准库 第十四章 应用构建模块
Python 3标准库 The Python3 Standard Library by Example -----------------------------------------第十四章 ...
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
- python常用标准库(os系统模块、shutil文件操作模块)
常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...
- python常用标准库(压缩包模块zipfile和tarfile)
常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...
- Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...
- python常用标准库
-------------------系统内建函数------------------- 1.字符串 str='这是一个字符串数据测试数据'对应 str[0]:获取str字符串中下标为 ...
- python 常用标准库
标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一. ...
- Python常用标准库之datetime、random、hashlib、itertools
库:具有相关功能模块的集合 import sys.builtin_module_names #返回内建模块的名字modules 查看所有可用模块的名字 1.1.1获取当前日期和时间 from date ...
随机推荐
- OpenCV+QT5在Window下的环境配置记录
在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成. 虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译 ...
- jdbc的快速入门(需要mysql-connector-java-5.1.39-bin.jar包)
package Lianxi;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;i ...
- 从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命
本系列文章对应游戏代码已开源 Sinuous game. 每个游戏都会包含场景和角色.要实现一个游戏角色,就要清楚角色在场景中的位置,以及它的运动规律,并能通过数学表达式表现出来. 场景坐标 canv ...
- 【小程序开发】文本text-overflow属性的使用
text-overflow原本是CSS3的一个属性,在微信小程序中也支持. text-overflow文本溢出显示省略号~ 注:使用text-overflow时,需要设置固定的宽度才起作用,所以该元素 ...
- CCF201604-2俄罗斯方块
问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏. 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块.每一轮,都会有一个新的由4个小方 ...
- git总是需要输入用户名密码问题解决
解决办法: git bash进入你的项目目录,输入: git config --global credential.helper store 然后你会在你本地生成一个文本,上边记录你的账号和密码.当然 ...
- Centos搭建 LAMP 服务器教程
搭建 LAMP 服务 搭建 MySQL 数据库 安装 MySQL 使用 yum 安装 MySQL: yum install mysql-server -y 安装完成后,启动 MySQL 服务: ser ...
- dotnet new 命令笔记
让dotnet new使用平台特定的目标,例如net6.0-windows10.0.19041.0 dotnet new console --name CallWinRTConsole --frame ...
- C语言求最大公约数最小公倍数(多种方法)
前言 这个求解方式多样化,灵活变动,但是,网上没有很好的资源和很全的代码,特此练习,敲打后,总结成本片文章. 单一求解 一.最大公约数 1.穷举法(最简单求解方式) 利用除法方式用当前的数字不断去除以 ...
- Alibaba Java诊断工具Arthas查看Dubbo动态代理类
原创/朱季谦 阅读Dubbo源码过程中,会发现,Dubbo消费端在做远程调用时,默认通过 Javassist 框架为服务接口生成动态代理类,接着再去调用代理类实现远程接口调用.在阅读这部分源码时,最后 ...