Python中对负数的整除和取余及特值情况

文章详细阐述了在Python中,负数参与取余和整除运算时的特殊规则,包括如何处理负数以及不同情况下的计算方法,例如被取余数、取余数、整除数的正负对结果的影响。通过一系列示例展示了各种可能的运算结果和背后的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整数取余负数

技巧:先忽略负号,之后取余,和正常取余不同的是:被取余的数x一个数,不能比取余的数小(可以相等,这意味着任何一个整数取余-1结果都为0),之后用这个数减去取余的数,最后在得到的结果上加上负号;当被取余的负数取正后大于取余的数时,直接使用取正后的被取余的数减去取余的数,之后加上负号即为最终结果(e.g. 22取余-3,先将-3看作3,之后3x7=21,比22小,所以3x8=24,再用24-22=2,最后在得到的结果上加上负号得到最终结果为-2,即:22 % -3 = -2)

>>>print(22 % -2)
0
>>>print(22 % -3)
-2
>>>print(22 % -4)
-2
>>>print(22 % -5)
-3
>>>print(22 % -6)
-2
>>>print(22 % -10)
-8
>>>print(22 % -23)
-1
>>>print(22 % -24)
-2
>>>print(22 % -25)
-3
>>>print(22 % -26)
-4

负数取余整数

技巧:先忽略负号,之后取余,和正常取余不同的是:被取余的数x一个数,不能比取余的数小(可以相等,这意味着任何一个整数取余-1结果都为0),之后用这个数减去取余的数即为最终结果;当取余的负数取正后小于被取余的数时,直接使用被取余的数加上取余的负数,即为最终结果(e.g. -22取余3,先将-22看作22,之后3x7=21,比22小,所以3x8=24,再用24-22=2,最终结果即为2,即:-22 % 3 = 2)

>>>print(-22 % 2)
0
>>>print(-22 % 3)
2
>>>print(-22 % 4)
2
>>>print(-22 % 5)
3
>>>print(-22 % 6)
2
>>>print(-22 % 10)
8
>>>print(-22 % 23)
1
>>>print(-22 % 24)
2
>>>print(-22 % 25)
3
>>>print(-22 % 26)
4

负数取余负数

技巧:先忽略负号,之后正常取余,最后在取余结果中加上负号;当被取余的数的绝对值大于取余的数的绝对值时,结果恒为取余的数(不是它的绝对值哦!这意味着此时返回结果恒为一个负数)(e.g. -22取余-3,先将-3看作3将-22看作22,之后3x7=21,用22-21=1,最后添加负号得到-1,最终结果即为-1,即:-22 % -3 = -1)

>>>print(-22 % -2)
0
>>>print(-22 % -3)
-1
>>>print(-22 % -4)
-2
>>>print(-22 % -5)
-2
>>>print(-22 % -6)
-4
>>>print(-22 % -10)
-2
>>>print(-22 % -23)
-22
>>>print(-22 % -24)
-22
>>>print(-22 % -25)
-22
>>>print(-22 % -26)
-22

整数整除负数

技巧:先将负数看作正数,之后-(被整除的数x? >= 除数);当被整除的数的绝对值大于除数时,运算结果恒为-1(对被整除的数乘以哪个数大于等于除数 进行取负)(e.g. 25 // -4,先将-4看作4,之后4x哪个数大于25?答案是7,最后将结果取负,得到最终结果为-7,即:25 // -4 = -7)


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娄不夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值