在SageMathCloud的Sage工作表(.sagews文件)中,此代码:
def elgamal_encrypt ( pub_key ,g ,p , message ):
k = floor ( 1+( p -2)* random ())
return ( Mod (g , p )^ k , message * Mod ( pub_key ^k , p ) )
产生错误:
Error in lines 1-1
Traceback (most recent call last):
File "/projects/7870d70a-93d1-44f4-bce4-990a540707b7/.sagemathcloud/sage_server.py", line 879, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "<string>", line 1
def elgamal_encrypt ( pub_key ,g ,p , message ):
^
SyntaxError: unexpected EOF while parsing
如何纠正?
最佳答案
缩进k=...
行。另外,请考虑使用不言自明的变量名以获得更清晰的代码。
def elgamal_encrypt ( pub_key ,g ,p , message ):
k = floor ( 1+( p -2)* random ())
return ( Mod (g , p )^ k , message * Mod ( pub_key ^k , p ) )
必读:https://www.python.org/dev/peps/pep-0008/
请注意,发生这种情况的特定原因是因为您使用的是SageMathCloud -有关错误和修复的详细信息,请参见this page。 (感谢@SamuelLelièvre的评论。)
关于python - SageMathCloud:错误:解析时出现意外的EOF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30579552/