Python中的取整、取余运算方法
芜湖起飞飛飝 人气:11.取整运算
在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
规范来存储浮点数,如果希望更详细的了解这一点可以参考下面资料。
参考资料
加载全部内容