2014-12-05 93 views
-1

問題是PySchools主題3 Q8

對於斧形式的二次方程式 + BX + c時, 判別式,d爲b -4ac。 根據判別式編寫一個返回以下輸出的函數。

  • D> 0:2真正的根。
  • D = 0:1實根。
  • D < 0:2複數根。

例子

>>> quadratic(1, 2, 3) 
    'This equation has 2 complex roots.' 
>>> quadratic(1, 3, 2) 
    'This equation has 2 real roots.' 
>>> quadratic(1, 4, 4) 
    'This equation has 1 real root.' 

的Python給了一個 「私人測試用例失敗」 錯誤。我的錯誤在哪裏?

def quadrtic(a,b,c): 
d=b**2-4*a*c 
if d<0: 
    return "This equation has 2 complex roots." 
elif d==1: 
    return "This equation has 2 real roots." 
elif d==0 or d==1: 
    return "This equation has 1 real root." 

回答

1

if塊應該是

def quadrtic(a,b,c): 
    d = b**2 - 4*a*c 
    if d < 0: 
     return "This equation has 2 complex roots." 
    elif d > 0: 
     return "This equation has 2 real roots." 
    else: # d == 0 
     return "This equation has 1 real root." 

判別是不太可能是完全== 1。對於它有兩個實根,它必須大於0,在這種情況下判別式可以是任何實數(例如4.2564)