python中(负数)整除和取模运算方式
作者:Marine_zz
Python中的取模运算符是%,它与其他语言中的取余符号相同,整除运算符是//,表示向下取整,在Python中,正数的取余和取模结果相同,但负数的取余和取模结果有所不同,取余运算在计算时向0方向舍弃小数位,而取模运算向负无穷方向舍弃小数位
python(负数)整除和取模运算
简介
- %:取模符号(在其它语言中,是取余符号)
- // :整除符号,向下取整,不进行四舍五入
数学描述:
- 如果存在整数n和m,其中0 <= m < b,使得a = n * b + m,那么m=a % b = a - n * b ,n = a // b.
取余和取模的区别
- 取余运算:在计算时向0方向舍弃小数位(遵循尽可能让商大)
- 取模运算:在计算时向负无穷方向舍弃小数位(遵循尽可能让商小)
正数取余和取模是相同的,所以只是负数取余和取模有区别
举例
直接从实例出发,分正数取余取模和负数取余取模
1、正数取余取模
正数取余和取模是相等的:
5 / 3 = 1.67 5 mod 3 = 2 (取模) 5 rem 3 = 2 (取余)
2、负数取余取模
# 取模:在计算时向负无穷方向舍弃小数位(向下取整) -5 mod 3 = 1 # -5 / 3 向下取整为-2,带入公式 -5 - (3 * -2) = 1 5 mod -3 = -1 # 5 / -3 向下取整为-2,带入公式 5 - (-3 * -2) = -1 -5 mod -3 = -2 # -5 / -3 向下取整为1,带入公式 -5 - (-3 * 1) = 2 # 取余:在计算时向0方向舍弃小数位(向0取整) -5 rem 3 = -2 # -5 / 3 向0取整为-1,带入公式 -5 - (3 * -1) = -2 5 rem -3 = 2 # 5 / -3 向0取整为-1,带入公式 5 - (-3 * -1) = 2 -5 rem -3 = -2 # -5 / -3 向0取整为1,带入公式 -5 - (-3 * 1) = 2
最后注意:
- % 在python中是取模符号
- 在其他语言中是取余符号!!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。