数学常量
常量 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数)。 |
import math
# 数学常量
print("数学常量示例:")
print(f"π (pi) = {math.pi}") #π (pi) = 3.141592653589793
print(f"自然对数e = {math.e}") #自然对数e = 2.718281828459045
- 注意: import math 的模块引用,后续学模块的时候再讲
基本数学函数
函数 | 描述 |
---|---|
abs(x) | 返回数字的绝对值 |
ceil(x) | 返回数字的上入整数 |
exp(x) | 返回e的x次幂(ex) |
fabs(x) | 以浮点数形式返回数字的绝对值 |
floor(x) | 返回数字的下舍整数 |
log(x) | 计算x的自然对数(以e为底) |
log10(x) | 返回以10为基数的x的对数 |
max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
round(x [,n]) | 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根。 |
import math
# abs(x) 绝对值
x = -10
print(f"abs({x}) = {abs(x)}") # 输出: abs(-10) = 10
# ceil(x) 向上取整
x = 4.3
print(f"ceil({x}) = {math.ceil(x)}") # 输出: ceil(4.3) = 5
# exp(x) 指数运算
x = 2
print(f"exp({x}) = {math.exp(x)}") # 输出: exp(2) = 7.389056098930650
# fabs(x) 浮点数绝对值
x = -3.14
print(f"fabs({x}) = {math.fabs(x)}") # 输出: fabs(-3.14) = 3.14
# floor(x) 向下取整
x = 4.9
print(f"floor({x}) = {math.floor(x)}") # 输出: floor(4.9) = 4
# log(x) 自然对数
x = 100
print(f"log({x}) = {math.log(x)}") # 输出: log(100) = 4.605170185988092
# log10(x) 以10为底的对数
x = 100
print(f"log10({x}) = {math.log10(x)}") # 输出: log10(100) = 2.0
# max(x1, x2,...) 最大值
nums = [1, 3, 5, 7, 9]
print(f"max{tuple(nums)} = {max(nums)}") # 输出: max(1, 3, 5, 7, 9) = 9
# min(x1, x2,...) 最小值
nums = [1, 3, 5, 7, 9]
print(f"min{tuple(nums)} = {min(nums)}") # 输出: min(1, 3, 5, 7, 9) = 1
# modf(x) 返回小数和整数部分
x = 3.14
frac, whole = math.modf(x)
print(f"modf({x}) = ({frac}, {whole})") # 输出: modf(3.14) = (0.14000000000000012, 3.0)
# pow(x, y) 幂运算
x, y = 2, 3
print(f"pow({x}, {y}) = {pow(x, y)}") # 输出: pow(2, 3) = 8
# round(x [,n]) 四舍五入,n是保留小数位数
x = 3.1415926
n = 2
print(f"round({x}, {n}) = {round(x, n)}") # 输出: round(3.1415926, 2) = 3.14
# sqrt(x) 平方根
x = 16
print(f"sqrt({x}) = {math.sqrt(x)}") # 输出: sqrt(16) = 4.0
三角函数
函数 | 描述 |
---|---|
acos(x) | 返回x的反余弦弧度值。 |
asin(x) | 返回x的反正弦弧度值。 |
atan(x) | 返回x的反正切弧度值。 |
atan2(y, x) | 返回给定的 X 及 Y 坐标值的反正切值。 |
cos(x) | 返回x的弧度的余弦值。 |
hypot(x, y) | 返回欧几里德范数 sqrt(x*x + y*y)。 |
sin(x) | 返回的x弧度的正弦值。 |
tan(x) | 返回x弧度的正切值。 |
degrees(x) | 将弧度转换为角度 |
radians(x) | 将角度转换为弧度 |
import math
# acos(x) 反余弦函数
x = 0.5
print(f"acos({x}) = {math.acos(x)}") # 输出: acos(0.5) = 1.0471975511965979
# asin(x) 反正弦函数
x = 0.5
print(f"asin({x}) = {math.asin(x)}") # 输出: asin(0.5) = 0.5235987755982989
# atan(x) 反正切函数
x = 1
print(f"atan({x}) = {math.atan(x)}") # 输出: atan(1) = 0.7853981633974483
# atan2(y, x) 返回点(x,y)的偏角
y, x = 1, 1
print(f"atan2({y}, {x}) = {math.atan2(y, x)}") # 输出: atan2(1, 1) = 0.7853981633974483
# cos(x) 余弦函数
x = math.pi
print(f"cos({x}) = {math.cos(x)}") # 输出: cos(3.141592653589793) = -1.0
# hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)
x, y = 3, 4
print(f"hypot({x}, {y}) = {math.hypot(x, y)}") # 输出: hypot(3, 4) = 5.0
# sin(x) 正弦函数
x = math.pi/2
print(f"sin({x}) = {math.sin(x)}") # 输出: sin(1.5707963267948966) = 1.0
# tan(x) 正切函数
x = math.pi/4
print(f"tan({x}) = {math.tan(x)}") # 输出: tan(0.7853981633974483) = 0.9999999999999999
# degrees(x) 将弧度转换为角度
x = math.pi
print(f"degrees({x}) = {math.degrees(x)}") # 输出: degrees(3.141592653589793) = 180.0
# radians(x) 将角度转换为弧度
x = 180
print(f"radians({x}) = {math.radians(x)}") # 输出: radians(180) = 3.141592653589793
随机函数
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素, |
randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1 |
random() | 随机生成下一个实数,它在[0,1)范围内。 |
seed([x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内。 |
#import random
# choice(seq) 从序列中随机选择一个元素
seq = ['apple', 'banana', 'orange']
print(f"choice({seq}) = {random.choice(seq)}") # 输出类似: choice(['apple', 'banana', 'orange']) = banana
# randrange([start,] stop [,step]) 从指定范围内随机选择一个数
start, stop, step = 0, 10, 2
print(f"randrange({start}, {stop}, {step}) = {random.randrange(start, stop, step)}") # 输出类似: randrange(0, 10, 2) = 6
# random() 生成一个0到1之间的随机浮点数
print(f"random() = {random.random()}") # 输出类似: random() = 0.7134346441566874
# seed(x) 初始化随机数生成器
seed = 42
random.seed(seed)
print(f"After setting seed({seed}), random() = {random.random()}") # 输出固定值
# shuffle(lst) 随机打乱列表顺序
lst = [1, 2, 3, 4, 5]
original_lst = lst.copy()
random.shuffle(lst)
print(f"shuffle({original_lst}) = {lst}") # 输出类似: shuffle([1, 2, 3, 4, 5]) = [3, 1, 5, 2, 4]
# uniform(x, y) 生成指定范围内的随机浮点数
x, y = 1, 10
print(f"uniform({x}, {y}) = {random.uniform(x, y)}") # 输出类似: uniform(1, 10) = 5.437829393654541
- 注意: import random 的模块引用,后续学模块的时候再讲
今天就到这。。。