在python中为什么18%-5=-2而18%5等于3?

如题所述

18/-5=-3.6,同时python规定对于//(整除)的结果是向负无穷大方向(即数轴的左边)取整,所以18//-5=-4。

而对于18%-5,在python中是这样计算的:
18%-5=18-18//-5*(-5)=18-(-4)*(-5)=18-20=-2。

至于18%5,是这样计算的:18%5=18-18//5*5=18-3*5=3。其中,18//5也是向负无穷大方向取整,因18/5=3.6,所以18//5=3(因为3在3.6的左边)。
温馨提示:答案为网友推荐,仅供参考
相似回答