#26485: python 請問這樣錯哪


hang65989@gmail.com (18李俊逸)

學校 : 不指定學校
編號 : 149343
來源 : [163.32.78.54]
最後登入時間 :
2021-12-29 15:52:13
a006. 一元二次方程式 | From: [220.157.127.101] | 發表日期 : 2021-08-09 17:58

a,b,c=map(int,input().split())
f=b**2-4*a*c
sqar=f**0.5
x1=(-b+sqar)/(2*a)
x2=(-b-sqar)/(2*a)

if b**2-4*a*c==0:
    print("Two same roots x=",int(x1))
if b**2-4*a*c>0:
    print('Two same roots x=',int(x1)," , x2=",int(x2))
if b**2-4*a*c<0:
    print("No real root")
 
#26487: Re:python 請問這樣錯哪


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
a006. 一元二次方程式 | From: [218.173.234.212] | 發表日期 : 2021-08-09 18:30

a,b,c=map(int,input().split())
f=b**2-4*a*c
sqar=f**0.5
x1=(-b+sqar)/(2*a)
x2=(-b-sqar)/(2*a)

if b**2-4*a*c==0:
    print("Two same roots x=",int(x1))
if b**2-4*a*c>0:
    print('Two same roots x=',int(x1)," , x2=",int(x2))
if b**2-4*a*c<0:
    print("No real root")



(b平方減四ac)==0,因為已經等於零就沒有sqar這一項了,直接輸出  (-b)//(2*a)  應該就OK了

下面的if 改成elif應該會更好,(b平方減四ac)以精算過等於f,應該在判斷式拿來重複用,才不會重複計算

 
#26499: Re:python 請問這樣錯哪


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a006. 一元二次方程式 | From: [39.9.134.68] | 發表日期 : 2021-08-10 11:54

a,b,c=map(int,input().split())
f=b**2-4*a*c
sqar=f**0.5
x1=(-b+sqar)/(2*a)
x2=(-b-sqar)/(2*a)

if b**2-4*a*c==0:
    print("Two same roots x=",int(x1))
if b**2-4*a*c>0:
    print('Two same roots x=',int(x1)," , x2=",int(x2))
if b**2-4*a*c<0:
    print("No real root")



(b平方減四ac)==0,因為已經等於零就沒有sqar這一項了,直接輸出  (-b)//(2*a)  應該就OK了

下面的if 改成elif應該會更好,(b平方減四ac)以精算過等於f,應該在判斷式拿來重複用,才不會重複計算


你的程式有一些問題:

1. 有兩個根時,要輸出Two different roots x1=...

是different不是same,是x1不是x

2. print會在中間自動加入空格,要用sep=''讓它不輸出空格

 
ZeroJudge Forum