解析时出现意外的 EOF 错误;错误显示空的不存在的行

Unexpected EOF errors while parsing ; error shows empty non existent line

我在 python 中写了一个脚本来计算基本的二次方程。这是我第一次为我制作复杂的脚本。但是当我 运行 它时,它在解析时显示意外的 eof 错误,原因在第 60 行显示为空行。我只有 59 条线。

我使用的脚本是:-

a=input("write a\n")
b=input("write b\n")
c=input("write c\n")

import cmath
import math
import time

D=b**2 - 4*a*c 

def a_set(a,b,c):
    D=b**2 - 4*a*c
    T=cmath.sqrt(D)
    x1=(-b + T)/(2*a)
    x2=(-b - T)/(2*a)
    return x1,x2#,D

def b_set(a,b,c):
    D=b**2 - 4*a*c
    G=math.sqrt(D)
    x1=(-b + G)/(2*a)
    x2=(-b - G)/(2*a)
    return x1,x2#,D

sol1=a_set(a,b,c)[0]
sol2=a_set(a,b,c)[1]
# sol3=a_set(a,b,c)[2]

ans1=b_set(a,b,c)[0]
ans2=b_set(a,b,c)[1]
# ans3=b_set(a,b,c)[2]

try:
     a=int(a)
     try:
         D== -D 
         print("Imaginary roots found:-\n%e and %e" %(sol1,sol2))

     except ValueError:
         try:
             ans1==str("0") 
             print("Roots are equal")

         except ValueError: 
             print("answer is %r,%r" %(ans1,ans2))

except ValueError:
     try:
         a=float(a)
         try:
             D== -D
             print("Imaginary roots found:-\n%e and %e" %(sol1,sol2))
         except ValueError:
             try:
                 sol1==str("0")
                 print("Roots are equal")

             except ValueError:
                 print("answer is %r,%r" %(sol1,sol2))       

我得到的错误是:-

$ python maths.py
  File "maths.py", line 60

                                                                 ^
SyntaxError: unexpected EOF while parsing

这是因为您在一次尝试后忘记添加 except 子句。试试这个:


except ValueError:
     try:
         a=float(a)
         try:
             D== -D
             print("Imaginary roots found:-\n%e and %e" %(sol1,sol2))
         except ValueError:
             try:
                 sol1==str("0")
                 print("Roots are equal")

             except ValueError:
                 print("answer is %r,%r" %(sol1,sol2))       
                 
     except:
         pass

对于代码的最后一部分。