【Python基础知识】常用内建模块-math和random

发布 : 优就业IT培训      来源:

2021-10-29 14:40:29

math 模块

math模块中定义了一些数学函数,用于进行数学计算。此外,该模块中还定义了两个数学常数:

  1. >>> import math # 导入math模块,以下示例都将省略这行代码
  2. >>> math.pi # 圆周率π
  3. 3.141592653589793
  4. >>> math.e # 数学常数e
  5. 2.718281828459045

数学模块提供了两个角度转换函数,degrees()函数用于将弧度转换成角度,radians()函数用于将角度转换成弧度:

  1. >>> math.radians(30) # 将角度30°转换成弧度
  2. 0.5235987755982988
  3. >>> math.degrees(math.pi/2) # 将弧度π/2转换成角度
  4. 90.0
  5. >>> math.degrees(math.pi/3) # 将弧度π/3转换成角度
  6. 59.99999999999999

数学模块还提供了用于计算给定角度的各种三角函数,如sin()、cos()、tan()等,这些三角函数需要以弧度作为参数:

  1. >>> math.sin(math.radians(30)) # 计算sin30°,结果约等于0.5
  2. 0.49999999999999994
  3. >>> math.sin(math.radians(90)) # 计算sin90°,结果等于1.0
  4. 1.0
  5. >>> math.cos(math.radians(90)) # 计算cos90°,结果约等于0
  6. 6.123233995736766e-17
  7. >>> math.cos(math.radians(0)) # 计算cos0°,结果等于1.0
  8. 1.0
  9. >>> math.tan(math.radians(45)) # 计算tan45°,结果约等于1
  10. 0.9999999999999999

log()函数用于计算给定数字的自然对数,自然对数以e为底数;log10()函数用于计算给定数字的以10为底的对数;log2()函数用于计算给定数字的以2为底的对数:

  1. >>> math.log(10)
  2. 2.302585092994046
  3. >>> math.log(math.e)
  4. 1.0
  5. >>> math.log10(10)
  6. 1.0
  7. >>> math.log2(4)
  8. 2.0
  9. >>> math.log2(1024)
  10. 10.0

factorial()函数用于计算给定数字的阶乘:

  1. >>> math.factorial(3) # 3的阶乘为3 * 2 * 1
  2. 6
  3. >>> math.factorial(10)
  4. 3628800

pow(x, y)函数用于接收两个浮点数作为参数,计算x的y次幂:

  1. >>> math.pow(3, 3) # 计算3的3次幂
  2. 27.0
  3. >>> math.pow(2, 8) # 计算2的8次幂
  4. 256.0
  5. >>> math.pow(3, 4) # 计算3的4次幂
  6. 81.0

sqrt()函数用于计算给定数字的平方根:

  1. >>> math.sqrt(100) # 计算100的平方根
  2. 10.0
  3. >>> math.sqrt(16) # 计算16的平方根
  4. 4.0

ceil()函数用于将给定浮点数向上取整,floor()函数用于将给定浮点数向下取整:

  1. >>> math.ceil(3.4)
  2. 4
  3. >>> math.ceil(3.6)
  4. 4
  5. >>> math.floor(3.4)
  6. 3
  7. >>> math.floor(3.6)
  8. 3

random模块

random模块中定义了很多随机函数,用于生成随机数,或者进行随机操作。

random()函数用于产生一个在[0, 1)范围内的随机数:

  1. >>> import random # 导入random模块,以下示例都将省略这行代码
  2. >>> random.random()
  3. 0.4571616492269954
  4. >>> random.random()
  5. 0.15751801783441732
  6. >>> random.random()
  7. 0.3304966043254054

如果想要生成一个随机整数,可以使用randint()函数,接收两个参数,分别是生成整数范围的最小值和最大值:

  1. >>> random.randint(1, 100) # 产生一个1~100的随机整数
  2. 52

也可以使用列表生成式,通过randint()函数创建一个包含10个1~100的整数的随机列表:

  1. >>> random_numbers = [random.randint(1, 100) for i in range(10)]
  2. >>> random_numbers
  3. [76, 37, 79, 88, 46, 61, 64, 87, 11, 58]

randrange()函数接收三个参数,分别是生成数字的最大值、最小值和步长。例如,可以利用randrange()函数的步长特性来生成1~100的随机奇数:

  1. >>> random.randrange(1, 100, 2) # 由于步长是2,因此生成的数字全部是奇数
  2. 17
  3. >>> random.randrange(1, 100, 2)
  4. 77
  5. >>> random.randrange(1, 100, 2)
  6. 45
  7. >>> random.randrange(1, 100, 2)
  8. 49

choice()函数用于从序列中选择一个随机项并返回它:

  1. >>> random.choice('Python') # 从字符串中随机选择一个字母
  2. 'n'
  3. >>> random.choice('Python')
  4. 'P'
  5. >>> students = ['Wang', 'Zhang', 'Liu', 'Li'] # 从列表中随机选择一个名字
  6. >>> random.choice(students)
  7. 'Liu'
  8. >>> random.choice(students)
  9. 'Li'
  10. >>> random.choice(students)
  11. 'Liu'

shuffle()函数用于将序列中的各个项随机排序。例如,可以通过shuffle()函数来“洗牌”:

  1. >>> cards = ['红桃2', '梅花k', '方片9', '黑桃J']
  2. >>> random.shuffle(cards)
  3. >>> cards
  4. ['方片9', '红桃2', '梅花k', '黑桃J']
  5. >>> random.shuffle(cards)
  6. >>> cards
  7. ['红桃2', '梅花k', '方片9', '黑桃J']

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部