在python中想搞清楚取余就要先搞清楚整除
公司专注于为企业提供成都网站制作、网站设计、微信公众号开发、电子商务商城网站建设,微信平台小程序开发,软件按需策划设计等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联更提供一系列网站制作和网站推广的服务。
因为在python中取余遵循
a % b = a - (a // b) * b
那么
r = m // n, 而且始终取下, 即math.floor(r),且同号正, 异号负, 5 // -3 = -2, 5 // 3 = 1
那么, 令r = floor(a // b)
a 0, b 0, a - (a // b) * b = a - {取下值的正数, 故a r * b} * b = 正数
a 0, b 0, a - (a // b) * b = a - {取下值的负数, 故a r * b} * b = 负数
a 0, b 0, a - (a // b) * b = a - {取下值的负数, 故a r * b} * b = 正数
a 0, b 0, a - (a // b) * b = a - {取下值的正数, 故a r * b} * b = 负数
所以, 取余和被除数有关
python中取余%
python中的整除 // 中的坑
PYTHON中三种取整函数(// int round)的区别
当Python的取余操作涉及负数时,会产生很神奇的现象:
经过百度找到[1],得到取余操作为:
但是这并不能解释为什么会有两种绝对值,于是又去搜了一下整除操作
在经过百度找到[2]与[3],得知Python中的几种取整操作:
对于负数表现为下:
将 % 之前的数称为 被取余数 ,之后的数称为 取余数 ,只考虑 除不尽 时,则有:
性质一:
性质二:
设
分别考虑 a 与 n 同号或异号时,均有:
故:
沿用性质二,设
且有
则有
(除不尽情况下)
有了以上结论,我们就可以口算得到结果:
有了以上的值,再根据 的符号确定正负
python中获得除法运算的余数使用%内置运算符即可,例如求10除以3的余数,使用以下表达式:
10%3,其结果为1。
python中 %是取模 - 返回除法的余数,b % a 输出结果 0 。
扩展资料
python常见的预算符号介绍:
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
数学课本中没有这种运算。
预备知识:这分为向上取整、向下取整、向零取整。
首先必须知道 x%y等价于x-(( x//y ) * y ) ,这就是一个公式!! 这个x//y意思是x对y取整
python中(是向下取整,即向更小的数取整数):10//3相当于10对3取整:
10➗3=3.333...故向下取整取3即10//3=3
那么10//-3结果计算方式也是这样:
10➗(-3)=-3.333...向下取整取-4即10//-3=-4(-10//-3=-4)
要知道求余数必须先了解取整,下面看你的问题:按照刚才的公式
10%-3=10-【(10//-3)* (-3)】=10-【(-4)*(-3)】=10-12=-2
故10%-3=-2
类似的-10%-3=-1也是如此得来!
不同的环境下有着不同的规则,不过大体的过程是与上面是一样的。