小编tla*_*ds_的帖子

使用Python中的负操作数进行整数除法和模运算

当我在Python 3.3.0中输入这些表达式时会出现问题

-10 // 3  # -4
-10 % 3   #  2
10 // -3  # -4
10 % -3   # -2
-10 // -3 #  3
Run Code Online (Sandbox Code Playgroud)

它似乎需要近似浮点(-3.33)?并且在整数除法中向下舍入,但在模运算中它做了完全不同的事情.看起来它返回余数+/- 1并且仅根据负操作数的位置切换符号.即使在查看本网站上的其他答案之后,我也完全感到困惑!我希望有人能够清楚地解释这个我!这本书提示:回想一下这个神奇的公式a =(a // b)(b)+(a%b),但这似乎根本不能为我清除水.

-提前致谢!

编辑:这些只是我对发生的事情的个人评估(上图),我知道,我完全不在了!

python modulo integer-division negative-number operand

6
推荐指数
2
解决办法
5863
查看次数