天天看點

Python取餘/求餘(%)問題,負數求餘最簡單的解釋

        Python求餘中會犯的錯誤思想如下:

        一.忘記求商結果是負數時要向下取整,比如-2.25等于-3。

        二.是把負數求餘運算和正數求餘運算混為一談

                正數求餘運算比如9%4=1,思路可以想成9裡面有兩個4,還剩一個1,是以餘數為1;

                負數求餘運算則不然,9%-4=-3,你不能想成拿9去除-4等于-2餘1,是以結果為1;

        三.算商時錯誤求商,9%-4的商為:9/-4=-2.25=-3(負數向下取整)。而不是:9/-4=-2餘1,是以商為2

運算代碼如下:

#求餘運算,公式為:餘數=被除數-除數*商,商=被除數/除數(結果精确到小數,取整)
print(9%4)#1, 1=9-4*2,      2=9/4=2.25(正數向下取整)
print(4%9)#4, 4=4-9*0       0=4/9=0.4444(正數向下取整)
print(-9%4)#3,  3=-9-(4)*(-3),   -3=-9/4=-2.25(負數向下取整)
print(9%-4)#-3, -3=9-(-4)*(-3)      -3=9/-4=-2.25(負數向下取整)
print(-9%-4)#-1, -1=-9-(-4)*2       2=-9/-4=2.25(正數向下取整)
print(-4%-9)#-4,  -4=-4-(-9)*0      0=-4/-9=0.444(正數向下取整)
           
Python取餘/求餘(%)問題,負數求餘最簡單的解釋