-3
>>> m = 3403
>>> 31 % m
31
>>> 031 % m
25
我在使用python测试RSA的终端。我不知道为什么最后一行会给出结果。有任何想法吗?Python模运算符给出的结果不好
>>> m = 3403
>>> 31 % m
31
>>> 031 % m
25
我在使用python测试RSA的终端。我不知道为什么最后一行会给出结果。有任何想法吗?Python模运算符给出的结果不好
这不是%
运算符的问题。你不小心使用了Python整数文字特征。
你用0
前缀数字创造了一个八进制数:
>>> 31
31
>>> 031
25
这3 * 8 + 1
,不3 * 10 + 1
。
在Python 3中,您不再可以通过这种方式创建八进制数字,只能使用0o
前缀。
PS:在Python 3中,'031'引发'SyntaxError:invalid token'。 –
是的,正如我所说的,你不能再在Python 3中使用该语法。 –
是的,只需粘贴错误消息:P –