Python自学第4天:Python中的数学

数学常量

常量描述
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 的模块引用,后续学模块的时候再讲 

今天就到这。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ghost143

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值