Python模运算符给出了错误的结果
我在终端测试RSA时使用python。我不知道为什么最后一行给出了它的结果。有什么想法吗?这不是Python模运算符给出了错误的结果,python,modulo,Python,Modulo,我在终端测试RSA时使用python。我不知道为什么最后一行给出了它的结果。有什么想法吗?这不是%操作符的问题。您不小心使用了Python整数文字特性 您通过在数字前面加上0,创建了一个八进制数字: >>> m = 3403 >>> 31 % m 31 >>> 031 % m 25 这是3*8+1,而不是3*10+1 在Python3中,您不能再以这种方式创建八进制数,只能使用0o前缀。PS:Python3中,031raiseSyntaxE
%
操作符的问题。您不小心使用了Python整数文字特性
您通过在数字前面加上0
,创建了一个八进制数字:
>>> m = 3403
>>> 31 % m
31
>>> 031 % m
25
这是3*8+1
,而不是3*10+1
在Python3中,您不能再以这种方式创建八进制数,只能使用
0o
前缀。PS:Python3中,031
raiseSyntaxError:invalid token
。是的,正如我所说,您不能再在Python3中使用该语法。
>>> 31
31
>>> 031
25