math 模块
math模块中定义了一些数学函数,用于进行数学计算。此外,该模块中还定义了两个数学常数:
- >>> import math # 导入math模块,以下示例都将省略这行代码
- >>> math.pi # 圆周率π
- 3.141592653589793
- >>> math.e # 数学常数e
- 2.718281828459045
数学模块提供了两个角度转换函数,degrees()函数用于将弧度转换成角度,radians()函数用于将角度转换成弧度:
- >>> math.radians(30) # 将角度30°转换成弧度
- 0.5235987755982988
- >>> math.degrees(math.pi/2) # 将弧度π/2转换成角度
- 90.0
- >>> math.degrees(math.pi/3) # 将弧度π/3转换成角度
- 59.99999999999999
数学模块还提供了用于计算给定角度的各种三角函数,如sin()、cos()、tan()等,这些三角函数需要以弧度作为参数:
- >>> math.sin(math.radians(30)) # 计算sin30°,结果约等于0.5
- 0.49999999999999994
- >>> math.sin(math.radians(90)) # 计算sin90°,结果等于1.0
- 1.0
- >>> math.cos(math.radians(90)) # 计算cos90°,结果约等于0
- 6.123233995736766e-17
- >>> math.cos(math.radians(0)) # 计算cos0°,结果等于1.0
- 1.0
- >>> math.tan(math.radians(45)) # 计算tan45°,结果约等于1
- 0.9999999999999999
log()函数用于计算给定数字的自然对数,自然对数以e为底数;log10()函数用于计算给定数字的以10为底的对数;log2()函数用于计算给定数字的以2为底的对数:
- >>> math.log(10)
- 2.302585092994046
- >>> math.log(math.e)
- 1.0
- >>> math.log10(10)
- 1.0
- >>> math.log2(4)
- 2.0
- >>> math.log2(1024)
- 10.0
factorial()函数用于计算给定数字的阶乘:
- >>> math.factorial(3) # 3的阶乘为3 * 2 * 1
- 6
- >>> math.factorial(10)
- 3628800
pow(x, y)函数用于接收两个浮点数作为参数,计算x的y次幂:
- >>> math.pow(3, 3) # 计算3的3次幂
- 27.0
- >>> math.pow(2, 8) # 计算2的8次幂
- 256.0
- >>> math.pow(3, 4) # 计算3的4次幂
- 81.0
sqrt()函数用于计算给定数字的平方根:
- >>> math.sqrt(100) # 计算100的平方根
- 10.0
- >>> math.sqrt(16) # 计算16的平方根
- 4.0
ceil()函数用于将给定浮点数向上取整,floor()函数用于将给定浮点数向下取整:
- >>> math.ceil(3.4)
- 4
- >>> math.ceil(3.6)
- 4
- >>> math.floor(3.4)
- 3
- >>> math.floor(3.6)
- 3
random模块
random模块中定义了很多随机函数,用于生成随机数,或者进行随机操作。
random()函数用于产生一个在[0, 1)范围内的随机数:
- >>> import random # 导入random模块,以下示例都将省略这行代码
- >>> random.random()
- 0.4571616492269954
- >>> random.random()
- 0.15751801783441732
- >>> random.random()
- 0.3304966043254054
如果想要生成一个随机整数,可以使用randint()函数,接收两个参数,分别是生成整数范围的最小值和最大值:
- >>> random.randint(1, 100) # 产生一个1~100的随机整数
- 52
也可以使用列表生成式,通过randint()函数创建一个包含10个1~100的整数的随机列表:
- >>> random_numbers = [random.randint(1, 100) for i in range(10)]
- >>> random_numbers
- [76, 37, 79, 88, 46, 61, 64, 87, 11, 58]
randrange()函数接收三个参数,分别是生成数字的最大值、最小值和步长。例如,可以利用randrange()函数的步长特性来生成1~100的随机奇数:
- >>> random.randrange(1, 100, 2) # 由于步长是2,因此生成的数字全部是奇数
- 17
- >>> random.randrange(1, 100, 2)
- 77
- >>> random.randrange(1, 100, 2)
- 45
- >>> random.randrange(1, 100, 2)
- 49
choice()函数用于从序列中选择一个随机项并返回它:
- >>> random.choice('Python') # 从字符串中随机选择一个字母
- 'n'
- >>> random.choice('Python')
- 'P'
- >>> students = ['Wang', 'Zhang', 'Liu', 'Li'] # 从列表中随机选择一个名字
- >>> random.choice(students)
- 'Liu'
- >>> random.choice(students)
- 'Li'
- >>> random.choice(students)
- 'Liu'
shuffle()函数用于将序列中的各个项随机排序。例如,可以通过shuffle()函数来“洗牌”:
- >>> cards = ['红桃2', '梅花k', '方片9', '黑桃J']
- >>> random.shuffle(cards)
- >>> cards
- ['方片9', '红桃2', '梅花k', '黑桃J']
- >>> random.shuffle(cards)
- >>> cards
- ['红桃2', '梅花k', '方片9', '黑桃J']