如何在Python中对负值进行取模?
取负数的模是在Python程序后面完成的更复杂的数学。如果我们不了解负数模背后的数学原理,它将成为一个巨大的搅拌器。
负模背后的数学:
让我们考虑一个例子,我们想要找到 -5mod4 即 -5%4。你们一定想知道答案将根据以下规则 -
-5/4 = 1.25
and
math.floor(-1.25) = -2
但这不是我们得到的答案,当我们运行上面的代码时,我们会得到答案为 3。这是因为Python 的模运算符( % ) 总是返回一个与分母具有相同符号的数字。幕后发生的事情是Python应用了模运算符的分布法则,即——
(a+b)mod n = [(a mod n)+(b mod n)]mod n
要应用此数学Python ,请将给定语句分解为 -
-5%4 = (-2*4 + 3) % 4 = 3
这样做是为了使 (-2*4)%4 给出的答案为 0(因为我们总是将除数的倍数作为我们的第一个数字)并且总体结果将为 3。让我们看更多示例以便更好地理解.
例子:
-3 % 7 = ( -1*7 + 4 ) % 7 = 4
-5 % 2 = (-3*2 + 1) % 2 = 1
示例 #1:
在这个例子中,我们可以看到,通过使用这个数学,我们能够执行和理解负模。
Python3
# Using negative modulo
res1 = -5 % 4
res2 = ((-2*4) + 3) % 4
print(res1)
print(res2)
Python3
# Using negative modulo
res1 = -3 % 7
res2 = - 12 % 4
print(res1)
print(res2)
输出 :
3
3
示例 #2:
Python3
# Using negative modulo
res1 = -3 % 7
res2 = - 12 % 4
print(res1)
print(res2)
输出 :
4
0