Python中的取整、取余运算方法

 更新时间:2022年11月22日 10:03:31   作者:芜湖起飞飛飝  
数据处理是编程中不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整等等,这篇文章主要介绍了Python中的取整、取余运算,需要的朋友可以参考下

1.取整运算

在Python中取整运算的运算符为//,且取整运算的取整为向下取整,不进行四舍五入
例:9//4=2,即9对4取整等于2
-9//-4=2,因为-9÷-4=2.25,取整为2
那么问题来了,9//-4等于多少呢?
9//-4=-3,因为9÷-4应该等于-2.25,那么对-2.25向下取整,应该为-3,而不是-2,所以9//-4=-3
那么-9//4呢?
-9÷4也应该等于-2.25,所以向下取整,得到-9//4=-3
总结:
9//4=2
-9//-4=2
9//-4=-3
-9//4=-3

2.取余运算

在Python中取余运算的运算符为%,取余的结果为,被除数整除除数后余下的数
例:9%4=1,即9对4取余为1,因为9÷4=2···1,即9除以4等于2余1,所以9%4=1
那么问题又又又来了,-9%-4等于多少?9%-4等于多少?-9%4等于多少?
这是就要用到一个公式了,在Python中,余数的计算公式:a % b = a - a // b * b
即a对b取余的余数 等于 a减去 a先对b取整,再乘以b ,即为a对b取余的余数
那么-9%-4,就等于-9-(-9//-4*-4),等于-1,即-9%-4=-1
9%-4,就等于9-(9//-4*-4),等于-3,即9%-4=-3
-9%4,就等于-9-(-9//4*4),等于3,即-9%4=3
总结:
9%4=1
-9%-4=-1
9%-4=-3
-9%4=3

Python 几种取整的方法

数据处理是编程中不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理。取整的方式则包括向下取整、四舍五入、向上取整等等。

1、向下取整

向下取整直接用内建的 int() 函数即可:

>>> a = 3.75
>>> int(a)
3

2、四舍五入

对数字进行四舍五入用 round() 函数:

>>> round(3.25); round(4.85)
3.0
5.0

3、向上取整

向上取整需要用到 math 模块中的 ceil() 方法:

>>> import math
>>> math.ceil(3.25)
4.0
>>> math.ceil(3.75)
4.0
>>> math.ceil(4.85)
5.0

4、分别取整数部分和小数部分

有时候我们可能需要分别获取整数部分和小数部分,这时可以用 math 模块中的 modf() 方法,该方法返回一个包含小数部分和整数部分的元组:

>>> import math
>>> math.modf(3.25)
(0.25, 3.0)
>>> math.modf(3.75)
(0.75, 3.0)
>>> math.modf(4.2)
(0.20000000000000018, 4.0)

有人可能会对最后一个输出结果感到诧异,按理说它应该返回 (0.2, 4.0) 才对。这里涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数,如果希望更详细的了解这一点可以参考下面资料。

参考资料

为什么0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003?.

到此这篇关于Python中的取整、取余运算的文章就介绍到这了,更多相关Python取整、取余运算内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python获取Cookie的方法总结

    Python获取Cookie的方法总结

    在Web开发中,Cookie是一种常用的技术,用于在Web服务器和浏览器之间存储和传输数据,本文将详细介绍Python中获取Cookie的方法,包括HTTP请求、Web框架和Cookie管理库的用法,同时提供示例代码来演示这些方法的实际应用,需要的朋友可以参考下
    2023-11-11
  • Python实现手机号自动判断男女性别(实例解析)

    Python实现手机号自动判断男女性别(实例解析)

    这篇文章主要介绍了Python实现手机号自动判断男女性别,本文性别判断主要依靠airtest中的自动化测试实现,通过实例代码给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解

    Mac OS X10.9安装的Python2.7升级Python3.3步骤详解

    Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧。基本步骤如下
    2013-12-12
  • python利用lxml读写xml格式的文件

    python利用lxml读写xml格式的文件

    这篇文章主要为大家详细介绍了python利用lxml读写xml格式的文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 关于Python中进度条的六个实用技巧分享

    关于Python中进度条的六个实用技巧分享

    在项目开发过程中加载、启动、下载项目难免会用到进度条,下面这篇文章主要给大家介绍了关于Python中进度条的六个实用技巧,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 解决Windows下PowerShell无法进入Python虚拟环境问题

    解决Windows下PowerShell无法进入Python虚拟环境问题

    这篇文章主要介绍了解决Windows下PowerShell无法进入Python虚拟环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱

    如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱

    SQLAlchemy 是一个 Python ORM 工具包,它提供使用 Python 访问 SQL 数据库的功能。这篇文章主要介绍了如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱,需要的朋友可以参考下
    2019-11-11
  • Python3创建Django项目的几种方法(3种)

    Python3创建Django项目的几种方法(3种)

    这篇文章主要介绍了Python3创建Django项目的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • python eventlet绿化和patch原理

    python eventlet绿化和patch原理

    这篇文章主要介绍了python eventlet绿化和patch原理,帮助大家更好的理解和学习python eventlet工具的使用,感兴趣的朋友可以了解下
    2020-11-11
  • Visual Studio Code搭建django项目的方法步骤

    Visual Studio Code搭建django项目的方法步骤

    这篇文章主要介绍了Visual Studio Code搭建django项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论