解析时获得意外的EOF

时间:2014-11-14 20:25:34

标签: python

看看我的代码是什么样的

x=25
epsilon=0.01
numguesses=0
low=0.0
high=x
ans=high+low/2.0

while abs(ans**2-x)>= epsilon and ans <=x:
    numguesses+=1
    if ans**2<x:
        low=ans
        else:
            high=ans
            ans=(high+low)/2.0
            print (numguesses)

此外,我无法在Python 3.0上使用raw_input,但在其中无法使用2.4

1 个答案:

答案 0 :(得分:1)

我无法重现此错误,因为当我修复此问题时,我会获得SyntaxError,然后获得IndentationError,然后......

SyntaxError: unexpected EOF while parsing通常表示以下之一:

  • 你忘了在某处关闭一些引号。
  • 你忘记在某处关闭一些括号或括号。 (这几乎总是会在 next 行上导致SyntaxError - 但如果您在代码的最后部分执行此操作,则会出现此错误。)
  • 你有一个缩进错误,以至于Python无法告诉它是缩进错误。

由于你的代码没有引号,所有的parens似乎都是平衡的,但你在这里发布的代码中有缩进错误,我愿意打赌它是你实际代码中的缩进错误(但可能与您在此处发布的内容不同 - else必须与if对齐,而不是与其正文对齐。

然而,还有另一种可能性。您上面显示的代码使用的是raw_input,但如果您改为使用input(或直接调用evalexec),则可以通过解析用户的错误获得完全相同的错误输入,如果用户输入不平衡的报价或表示等等。