#21288: 為什麼最後一個測資過不了?


uyangkao@gmail.com (Xiayu夏語)


程式碼如下

明明測試都過了

送出解答的最後一個測資卻算錯了

while True :
    try :
        a,b,c=input().split() 
    except :
        break
    a=int(a)
    b=int(b)
    c=int(c)
    D=(b*b-4*a*c)
    t=pow(D,0.5)
    x3=(-b+t)/2*a
    x4=(-b-t)/2*a
    if D>0 :
        print('Two different roots x1=%d , x2=%d' % (x3,x4) )
    elif D==0 :
        print('Two same roots x=%d' % x4)
    elif D<0 :
        print('No real root')
    elif b==0 and c==0 :
        print('Two same roots x=0')
#21361: Re:為什麼最後一個測資過不了?


accpcc58@gmail.com (Pcc Acc)


程式碼如下

明明測試都過了

送出解答的最後一個測資卻算錯了

while True :
    try :
        a,b,c=input().split() 
    except :
        break
    a=int(a)
    b=int(b)
    c=int(c)
    D=(b*b-4*a*c)
    t=pow(D,0.5)
    x3=(-b+t)/2*a
    x4=(-b-t)/2*a
    if D>0 :
        print('Two different roots x1=%d , x2=%d' % (x3,x4) )
    elif D==0 :
        print('Two same roots x=%d' % x4)
    elif D
        print('No real root')
    elif b==0 and c==0 :
        print('Two same roots x=0')


2*a  要括號,這樣: (2*a),沒有括號就是除以2再乘以a,有括號才是除以2a喔 :)