Python 取余


问: Python 计算 -7%4 + 1 与 1 - 7%4 二者计算结果相等吗?

答: 不等!前者结果为2,后者为-2。

 

对此,作如下两点解释:

1. 首先看一下Python计算的优先级,官方手册的截图如下(https://docs.python.org/2/reference/expressions.html#id20):

The following table summarizes the operator precedences in Python, from lowest precedence (least binding) to highest precedence (most binding).

可以看到%的优先级是高于“加、减运算”,而低于“数的正、负级”。

所以-7%4 + 1中先计算的是(-7)%4,

而1-7%4中先计算的是7%4 。

2. 取余计算的原则 —— 余数应该大于0

-7 = (-2)*4 +1,所以-7%4 = 1

7 = 1*4 + 3, 所以7%4 = 3


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM