Python-数字
数字有四种类型
:整数、浮点数、复数和布尔值
整数:1,2,3,4,7,8
浮点:1.0,2.0,3.0
复数:1+2j,1.2j(复数由实数部分和虚数部分组成。实数部分和虚数部分都可以是浮点数。虚数部分用j或J表示)
布尔值:True或False (True = 1,Flase = 0)
数字类型相互转换:
int()函数 →浮点数可以转换为整数。
float()函数 →整数和字符串可以转换为浮点数。
complex()函数 →整数、浮点数和字符串(用于表示数字)可以转换为复数。
bool()函数 →将任何数字转换为布尔值。
数字运算
a = 10
b = 3
c = a + b # 加法
d = a - b # 减法
e = a * b # 乘法
f = a / b # 整数除法
g = a // b # 地板除法
h = a % b # 取余数
i = a ** b # 乘方
print(c) # 输出13
print(d) # 输出7
print(e) # 输出30
print(f) # 输出3.3333333333333335
print(g) # 输出3
print(h) # 输出1
print(i) # 输出1000
函数
abs()
整数、浮点数、复数等数值类型作为参数,返回一个同样类型的数的绝对值。
print(abs(-10)) # 输出 10
print(abs(2+3j)) # 输出 3.605551275463989
print(abs(-5.43)) # 输出 5.43
ceil()
用于向上取整。向上取整可以将小数点后的数值向上取整为一个整数。在数学上,向上取整也称为向正无穷方向取整,它可以将小数值加上它需要到整数的差值,从而得到一个大于等于本身的整数值。
import math
print(“向上取整 - 1.23:”, math.ceil(1.23))
print(“向上取整 - 5:”, math.ceil(5))
print(“向上取整 - - 1.23:”, math.ceil(-1.23))
print(“向上取整 - - 5:”, math.ceil(-5))
结果:
向上取整 - 1.23: 2
向上取整 - 5: 5
向上取整 - - 1.23: -1
向上取整 - - 5: -5
exp()
计算e(自然对数的底数)的x次方
import math
#计算e^3的值,即e的3次方
res = math.exp(3)
print(res) # 20.085536923187668
#计算e^-2的值
res = math.exp(-2)
print(res) # 0.1353352832366127
fabs()
用来计算一个数的绝对值
import math
x = -10
abs_x = math.fabs(x)
print(“x 的绝对值是:”, abs_x)
floor()
返回一个小于或等于所传递参数的最大整数。如果参数是一个整数,则返回该整数本身。
import math
#测试列表
num_list = [1.2, 2.5, 3.7, -1.2, -2.5, -3.7, 0, 10, -10]
#使用 floor() 方法
for x in num_list:
print(math.floor(x)) # 1,2,3,-2,-3,-4,0,10,-10
log() 用于计算给定数字的自然对数。
log10() 用于返回给定数字的以10为底的对数。
max() 函数用于返回给定参数的最大值。
data = {“red”: 22, “green”: 34, “blue”: 12, “yellow”: 65}
max_value = max(data.values())
print(max_value) # 65
max_key = max(data, key=data.get)
print(max_key) # yellow
min()
min(arg1, arg2, *args, key = None)
– arg1,arg2… – 表示要比较的元素。
– *args(可选) – 表示其他要比较的元素。
– key(可选) – 用于指定比较函数,它具有一个参数,并返回一个用于排序的关键字。
使用key参数自定义比较函数
students=[(“Jane”,23),(“Doe”,20),(“Anna”,19),(“Tom”,21)]
oldest_student=min(students, key=lambda x:x[1])
print(“年龄最小的学生是:”,oldest_student[0])
modf() 方法获取一个浮点数的小数和整数
import math
num = 3.14159265
fraction, whole = math.modf(num)
print(“小数部分:”, fraction) # 0.14159265
print(“整数部分:”, whole) # 3.0
pow() 用于计算一个数字的幂
result = pow(2, 3, 5)
这将打印出3。在此示例中,2是底数,3是指数,5是取模器。因此,pow()函数返回2的3次方取模5的余数,即8除以5的余数为3;可以是两个参数也可以是三个参数,取模器可以不写
round() 函数接收一个数字参数并将其近似到指定的小数位数
a = round(3.14159, 2)
print(a) # 输出:3.14
sqrt() 方法来计算一个数字的平方根
import math
x = 16
print(“The square root of”, x, “is”, math.sqrt(x)) # The square root of 16 is 4.0
choice() 可以快速生成随机数字
Eg1:序列:从列表中生成随机元素
import random
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(random.choice(my_list))
Eg2:范围:生成随机整数
import random
nums = random.choice(range(1, 101))
print(nums)
Eg3:概率分配:生成特定的随机结果
import random
my_list = [‘apple’, ‘banana’, ‘cherry’, ‘grape’, ‘lemon’, ‘melon’, ‘orange’, ‘peach’]
weights = [2, 2, 3, 3, 1, 1, 3, 3]
print(random.choice(my_list, weights = weights))
从my_list中生成一个随机元素,其中各元素的生成概率不同,weights指的是每个元素的生成权重,越大的权重,生成的概率越大。
randrange() 方法可以用来生成一个随机的整数
语法
random.randrange(start, stop, step)
参数:
start(可选参数):随机数的起始值,默认是0。
stop(必选参数):随机数的停止值。
step(可选参数):随机数的步长,默认是1。
random() 是一个返回0到1之间的随机浮点数的数字函数,用于生成随机数; 这个函数没有参数
import random
#生成随机整数
print(“生成随机整数:”, random.randint(1, 5))
#生成随机浮点数
print(“生成随机浮点数:”, random.random())
#生成随机字母
print(“生成随机字母:”, random.choice(‘abcdefghijklmnopqrstuvwxyz’))
seed() 方法用于设置随机数生成器的种子,用于生成随机数序列
random.seed(a=None, version=2)
其中,a 参数是用于生成随机数的种子,默认值为 None,表示使用当前系统时间作为种子。version 参数是 Python 2 中新增的,指定使用的算法版本。
shuffle() 方法是Python内置的随机化函数,可以将序列中元素随机排列。(调用代价昂贵)
import random
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(numbers) # [4, 1, 2, 5, 3]
uniform() 方法用于生成指定范围内的随机浮点数。该方法是Python随机模块(random模块)中的一种方法
import random
random.uniform(a, b) # b>a
其中,a和b是指定的范围,uniform()方法会在[a, b]范围内生成一个随机的浮点数。
acos() 方法是一个用于数学计算的函数,其作用是返回给定参数的反余弦值(单位为弧度)。acos()函数的参数范围在[-1, 1]之间,并返回值在[0, π]之间。
import math
math.acos(x)
其中,参数x需要在[-1, 1]之间。
asin() 方法用于返回给定数字的反正弦值(以弧度为单位)。只需要传入一个数字参数即可。
import math
x = 0.5
result = math.asin(x)
print(result)
输出结果为:
0.5235987755982989
其中,参数x需要在[-1, 1]之间。
atan() 方法用于返回一个数的反正切值,其结果以弧度表示。
import math
math.atan(x)
其中,x为一个数值变量,表示要计算的反正切值。
atan2() 方法,它能够帮助我们计算向量之间的角度。需要传入两个参数,即y轴坐标和x轴坐标
cos() 是一个常用的数学函数,它用于返回给定角度的余弦值
转换角度值的公式如下:
rad = (2 * math.pi / 360) * x
其中,rad是弧度值,x是角度值。
degrees() 方法将弧度制的值转换为角度制。弧度值应该在区间[−π,π]之间,否则结果可能不准确。
radians() 是一种数学函数,用于将角度转换为弧度
hypot() 方法计算两个数的直角三角形斜边长 : math.hypot(x, y)
sin() 可以用于计算给定数字的正弦值
参数x必须是一个浮点数(即一个小数或带有小数点的数)。它代表一个角度的弧度值。如果我们想计算以度为单位的正弦值,那么可以将角度值乘以π并除以180。
import math
#以弧度计算正弦值
print(math.sin(math.pi/2))
#以度数计算正弦值
import math
print(math.sin(90 * math.pi/180))
输出结果:
1.0
1.0
tan() 方法来计算一个数的正切值
import math
#计算45度的正切值
x = math.pi / 4
print(“The tangent of 45 degrees is:”, math.tan(x))
#计算60度的正切值
x = math.pi / 3
print(“The tangent of 60 degrees is:”, math.tan(x))
#计算90度的正切值
x = math.pi / 2
print(“The tangent of 90 degrees is:”, math.tan(x))
输出结果如下:
The tangent of 45 degrees is: 0.9999999999999999
The tangent of 60 degrees is: 1.7320508075688767
The tangent of 90 degrees is: 1.633123935319537e+16