【编程基础】Python中的数学运算

大家好,欢迎来到 Crossin的编程教室 !

虽然咱们这儿大多数同学都已经有了一些编程基础,但考虑到有刚加入的新同学,偶尔还是要说一点基础向的内容。今天 Crossin 就跟大家说一说 Python 中的数学运算。

在用计算机编程解决问题的过程中,数学运算是很常用的。python自带了一些基本的数学运算方法。

最基本的加减乘除我们就不赘述了,都是按正常的运算规则来。就说几点需要注意的:

  1. python里的计算没有[]、{},统一都用 ()

  2. 除法符号是 / ,在 Python3 里结果都是浮点数,哪怕是两个可以整除的整数。比如 4 / 2,结果是 2.0 而不是 2

  3. 如果希望做整除,要用 // ,不能整除的会忽略余数,比如 5 // 2 结果是 2

  4. % 叫做取模运算,也就是取整除的余数,比如 5 % 2 结果是 1

  5. Python 里的乘方符号是 ** ,比如计算 2的3次方 是 2 ** 3,切记不是很多语言里会用的 2 ^ 3,这个在 Python 里表示“按位异或运算”(不了解的可以先忽略,你用不到的)。同理,根号3 可以表示为 3 ** 0.5

  6. 类似 5e3 的写法是科学计数法,表示 5*10的3次方,也就是 5000.0,注意这也都是浮点数

此外,Python里内置了一个数学运算模块,叫做math,在使用之前,你需要

import math

math 包里有几个常量,你可能会用到的:

math.pi

圆周率π:3.141592...

math.e

自然常数:2.718281...

math.inf

正无穷大,是个浮点数

math 里常用的数值运算方法:

math.ceil(x)

对x向上取整,比如x=1.2,返回2

math.floor(x)

对x向下取整,比如x=1.2,返回1

math.pow(x,y)

指数运算,得到x的y次方

math.log(x)

对数,默认基底为e。可以使用base参数,来改变对数的基底。比如math.log(100,base=10)

math.sqrt(x)

平方根

math.fabs(x)

绝对值

三角函数: 

math.sin(x)
math.cos(x)
math.tan(x)
math.asin(x)
math.acos(x)
math.atan(x)

注意:这里的x是以弧度为单位,所以计算角度的话,需要先换算

角度和弧度互换: 

math.degrees(x)

弧度转角度

math.radians(x)

角度转弧度

以上是你平常可能会用到的函数。除此之外,还有一些,这里就不罗列,可以去

https://docs.python.org/zh-cn/3/library/math.html

查看官方的完整文档。

有了这些函数,可以更方便的实现程序中的计算。比如中学时代算了无数次的一元二次方程求根公式:

(-b±√(b²-4ac))/2a

现在你就可以写一个函数,输入一元二次方程的a、b、c系数,直接给你数值解。好,这题就留作课后作业吧!

对了,最后再提一个 Python 数学运算时经常被新手踩到的坑:

0.1 + 0.2 == 0.3

你觉得这个比较等式的结果是什么?

在编辑器里运行一下看看。如果结果和你想的不一样,请记住:程序中的浮点数都是用二进制来近似表示的,不是绝对的精确,存在一定的精度误差。所以小数直接比较大小要避免用==,而是用小于一个很小的阈值来表示,如:

abs(0.1 + 0.2 - 0.3) < 0.000001

感谢转发点赞的各位~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Crossin的编程教室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值