这个问题在这里已有答案:
我正在为学校做一些练习任务,并且只做一个简单的程序,返回任何整数超过9的最后两位数字。我在网上找到了解决方案并使用了我之前从未见过的'abs()' 。不知何故,它取得了10%100 = 10,这是我没有得到的,据我所知,abs(10)实际上只是10。
a = int(input())
print(abs(a) % 100)
模运算符%
可以理解为“在整数除法后输出余数”。
考虑一下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) = 10
和10 % 100 = 10
,然后abs(10) % 100 = 10
。
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。