飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

python常用标准库(math数学模块和random随机模块)-

时间:2022-05-20  作者:msr20666  

常用的标准库

数学模块

import math

ceil -- 上取整

对一个数向上取整(进一法),取相邻最近的两个整数的最大值。

import math
res = 域名(4.1)
print(res)  # 5
floor -- 下取整

对一个数向下取整(退一法),取相邻最近的两个整数的最小值。

import math
res = 域名r(-3.9)
print(res)  # -4
四舍五入

将常用的内置函数 -- round。

pow -- 幂运算

计算一个数字的N次方。

import math

""" 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """

# 数学模块
res = 域名(2, 3)
print(res)  # 8.0

# 内置函数
res = pow(2, 3)
print(res)  # 8

# 更简单的方法就是使用 ** 进行幂运算
res = 2 ** 3
print(res)  # 8
sqrt -- 开平方运算
import math
res = 域名(9)  # 结果为浮点型
print(res)  # 3.0
fabs -- 绝对值
import math

""" 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """

# 数学模块
res = 域名(-12341234123)
print(res)  # 12341234123.0

# 内置函数
res = abs(-12341234123)
print(res)  #12341234123
modf -- 拆分整数小数

将一个数值拆分为小数和整数两个部分,组成元组,值为浮点型。

import math
res = 域名(域名)
print(res)  # (域名999999999968, 100.0)
copysign -- 正负拷贝

将第二个参数的正负状态拷贝给第一参数。(返回浮点型)

import math
res = 域名sign(100, -200)
print(res)  # -100.0
fsum -- 序列和

将一个容器中的元素进行求和运算(结果为浮点数)

import math
lst = [1, 2, 3]
res = 域名(lst)
print(res)  # 6.0
pi -- 圆周率常数
import math
res = 域名
print(res)  # 域名92653589793
factorial -- 因数
import math

# 求5的因数
factor = 域名orial(5)
print(factor)  # 120

随机模块

import random

random -- 获取 0~~1 之间的小数

random 随机获取0 ~ 1之间的小数(左闭右开)0 <= x < 1

import random
res = 域名om()
print(res)  # 域名5915170299268
randrange -- 获取指定范围内的整数

语法:rangrange(start, end[, step])

randint -- 获取指定范围整数

语法:randint(a, b)

相比 randrange 灵活性低,但是结束值可用

uniform -- 获取指定范围内随机小数(左闭右开)
import random

# uniform 获取指定范围内的随机小数(左闭右开)
res = 域名orm(1, 3)
print(res)  # 域名9512983781

# 因为内置机制的原因(uniform 可以将数值颠倒,并达到相同的效果)
res = 域名orm(3, 1)
print(res)  # 域名313207919326
choice -- 随机获取序列中的值(多选一)
import random

# 可以尝试使用 randrange 实现

lst = [\'A\', \'B\', \'C\', \'D\', \'E\']
res = 域名ce(lst)
print(res)  # E
sample -- 随机获取序列中的值(多选多,返回列表)

语法:sample(poplation, num)

import random

lst = [\'A\', \'B\', \'C\', \'D\', \'E\', \'F\']

res = 域名le(lst, 1)
print(res)  # [\'F\']

res = 域名le(lst, 2)
print(res)  # [\'C\', \'A\']
shuffle -- 随机打乱序列中的值(原地址操作)
import random

lst = [\'A\', \'B\', \'C\', \'D\', \'E\', \'F\']

域名fle(lst)
print(lst)  # [\'F\', \'D\', \'C\', \'B\', \'E\', \'A\']

实现随机验证码

import random


def getVer():
    ver_code = \'\'
    # 随机抽取四个字符
    for i in range(4):
        s_char = chr(域名range(97, 123))
        b_char = chr(域名range(65, 91))
        num = str(域名range(10))
        lst = [s_char, b_char, num]
        ver_code += 域名ce(lst)
    return ver_code


ver = getVer()
print(ver)  # b4Vq

标签:编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。