Python中的整除和取模

2019-04-14 18:34发布

一 除法

1 正数除法

Python3中的除法中,除法/总是返回一个浮点数,如下: >>> 6/4 1.5 >>> 2/3 0.6666666666666666 如果只想得到整数的结果,丢弃分数部分,可以使用运算符 //>>> 6//4 1 >>> 2//3 0 // 得到的是整除的结果,但是结果并不一定是整数类型的数,它与分母分子的数据类型有关系: >>> 6//4.0 1.0 >>> 2.0//3 0.0

2 负数除法

Python3除法采取的是向下取整,即向负无穷方向取最接近精确值的整数。故当整除运算有负数时,结果稍有不同: >>> 4//-3 -2 >>> -10//3 -4 我们通常的计算中,采用的是向零取整的方法计算,4//-3 = -1,-10//3 = -3。如果希望在Python3中对负数采用向零取整的方法计算,可以如下处理: >>> int(4/-3) -1 >>> int(-10/3) -3

二 取模

Python3 中采用%表示取模运算,结果返回除法的余数: >>> 21%10 1 >>> 3%4 3 但是由于Python采用的是向下取整的方式,所以对负数的取余结果不一样: >>> -21%10 9 >>> -5%4 3 结合前面负数的整除计算,可以理解取模的结果。-21//10 = -3, -21-(-3)*10 = 9