在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/

10-12 19:40