python中神奇的取模运算(-5%3=1,5%-3=-1)

在之前学习过的编程语言里,如c,c#,%留给我们的印象都是用来取余的,在学习python时,发现%竟然和之前学习到的有点不一样。

在这里插入图片描述这是为什么呢?

原来,python中,符号 % 其实是取模,不是取余。

取余与取模的差别:
当两个数均为正数是,取余与取模的结果是一致的,而当两个数一正一负时结果就不一样了。

1.当两个数都是正数时,
在这里插入图片描述
2.当一个数是负数时,
在这里插入图片描述取余过程:

c = a / b = -1.67
取余时,会将 c 向0的方向舍弃掉小数部分,c = -1.67,舍弃后 c = -1
则余数计算如下:
y = a - b * c = -5 - (3 * (-1)) = -2

取模过程

c = a / b = -1.67

取模时,会将 c 向负无穷的方向取整,比如此处 c = -1.67,向负无穷方向取整后 c = -2
则取模计算如下:

m = a - b * c = -5 - 3 * (-2) = 1

3.当两个数都是负数时
在这里插入图片描述

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值