任何人都可以解释为什么abs(10)%100 = 10? [重复]

问题描述 投票:-8回答:2

这个问题在这里已有答案:

我正在为学校做一些练习任务,并且只做一个简单的程序,返回任何整数超过9的最后两位数字。我在网上找到了解决方案并使用了我之前从未见过的'abs()' 。不知何故,它取得了10%100 = 10,这是我没有得到的,据我所知,abs(10)实际上只是10。

a = int(input())

print(abs(a) % 100)
python modulus
2个回答
0
投票

模运算符%可以理解为“在整数除法后输出余数”。

考虑一下232 % 100 = 32。在除以100之后,你剩下32个。换句话说,232 = 100*2 + 32。整数除法得到2,modulo得到32

考虑一下32 % 100 = 32。 32不能被100整除,所以余数是32.换句话说,32 = 100*0 + 32。整数除法得到0,modulo得到32

abs(10) = 1010 % 100 = 10,然后abs(10) % 100 = 10


0
投票

abs运算符是绝对运算符。这意味着正值保持正值,而负值将变为正值。例如:

    abs(10) = 10
    abs(-10) = 10
    abs(0) = 0

百分号是modulo operator。这意味着答案是分裂后的余数。例如:

10 % 10 = 0 (as 10 can be divided by 10 without remainder)
10 % 5 = 0 (as 10 can be divided by 5 without remainder)
10 % 11 = 10 (as 10 cannot be divided by 11)

因此,10 % 100必须是10,因此,abs(10) % 100也必须是10。

© www.soinside.com 2019 - 2024. All rights reserved.