关于Python取余%除数为负数的一些情况的分享

   Python内置了各种计算格式,当然取余也是必不可少的,只用一个%号就可以得到你想要的答案

 

   比如:

1 print("100%6余数为:",100%6)
2 #100%6余数为: 4
3 print("10000%22余数为:",10000%22)
4 #10000%22余数为: 12
5 print("10000000%1024余数为:",10000000%1024)
6 #10000000%1024余数为: 640

胜利果实来的太轻松了,都忍不住笑出来猪叫

 

 

   但是出来混的早晚都会遇到那一张带的案板,比如看到这个计算的时候:

 1 #我们的算式      Python给我们的答案
 2 print(12%-5)        #答案  -3
 3 
 4 print(9%-4)    #答案  -3
 5 
 6 print(9%-5)        #答案  -1   
 7 
 8 print(-12%7)    #答案  2
 9 
10 print(9%-8)       #答案  -7
11 
12 print(8%-3)   #答案 -1
13 
14 print(7%-3)      #答案 -2
15 
16 print(10%-3)      #答案 -2

#更多案例需要你自己慢慢发现

Python你不要太欺负人,虽然我们小学数学是体育老师教的,但是我们也顺利拿到了小学文凭。

ps:体育老师揭竿而起!

既然Python你如此逗秀我们的智商,那就让我们一起互相伤害吧!

老师你坐下请喝茶,我是挺你的!

这时候体育老师扔过来一张小纸条,我悄悄捡起来,上面写了如下一行代码:

1 X=a-b*[a//b]

看完代码,原来体育老师早就知道这些。但是为啥答案我还是看不懂呢?

不用捉急,让我们一点一点分析:

Python 的 // 是地板除,顾名思义就是除完了,向下取整数。

比如:

 -12 % 7

#进入算式:

 X = -12 - (7 * (-12 // 7))

#-12 // 7 = -2 

X = -12 + 14 
#X的结果必定是 2 呀
#哈哈,幸亏体育老师关键时刻拉

 

看来有时候常识也是最最没有常识的.........

Python,我记住你这个取余 % 了

 

posted @ 2020-04-27 18:29  vea_chong  阅读(918)  评论(0)    收藏  举报