#13743: python 他最後面的else:說是無效的語法 新手求解大感謝


easteater (烤雞)

學校 : 國立臺北科技大學
編號 : 77392
來源 : [36.228.154.168]
最後登入時間 :
2018-05-10 23:22:10
a006. 一元二次方程式 | From: [140.124.249.51] | 發表日期 : 2018-04-19 11:22

import sys
for input in sys.stdin:
a,b,c=input.split()
t=float(b)**2-4*float(a)*float(c)
if t<0:
print('No real root')
elif t==0:
print('The same roots x= %d'%(float(b)**2-4*float(a)*float(c))
else:
print('Two different roots x1=%d ,x2=%d'%((float(-b)+sqrt(float(b)**2-4*float(a)*float(c)))/(float(a)*2),(float(-b)-sqrt(float(b)**2-4*float(a)*float(c)))/(float(a)*2))

 
#13744: Re:python 他最後面的else:說是無效的語法 新手求解大感謝


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a006. 一元二次方程式 | From: [140.115.204.235] | 發表日期 : 2018-04-19 11:44

有少括號




 
#13745: Re:python 他最後面的else:說是無效的語法 新手求解大感謝


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a006. 一元二次方程式 | From: [61.223.52.146] | 發表日期 : 2018-04-19 12:00

有少括號





寫成這樣很難除錯吧。

 
#13746: Re:python 他最後面的else:說是無效的語法 新手求解大感謝


easteater (烤雞)

學校 : 國立臺北科技大學
編號 : 77392
來源 : [36.228.154.168]
最後登入時間 :
2018-05-10 23:22:10
a006. 一元二次方程式 | From: [140.124.249.51] | 發表日期 : 2018-04-19 12:06

有少括號





寫成這樣很難除錯吧。

找到了,問題已解決,感謝


 
#13789: Re:python 他最後面的else:說是無效的語法 新手求解大感謝


andy0000011@yahoo.com.tw (andy0000011)

學校 : 不指定學校
編號 : 69721
來源 : [180.217.172.17]
最後登入時間 :
2017-09-20 21:16:12
a006. 一元二次方程式 | From: [180.217.130.199] | 發表日期 : 2018-04-28 19:32

import sys
for input in sys.stdin:
a,b,c=input.split()
t=float(b)**2-4*float(a)*float(c)
if t<0:
print('No real root')
elif t==0:
print('The same roots x= %d'%(float(b)**2-4*float(a)*float(c))
else:
print('Two different roots x1=%d ,x2=%d'%((float(-b)+sqrt(float(b)**2-4*float(a)*float(c)))/(float(a)*2),(float(-b)-sqrt(float(b)**2-4*float(a)*float(c)))/(float(a)*2))


給你2個建議

第一個是你可以把第三行寫成

a, b, c = list(map(float, input().Split()))

這樣就可以一次把型態轉float

不用每次要用都要轉一次

第二個建議是

你後面在求X的時候

可以把中間換成t

你前面的已經算好t了

就不用讓他再算一次

 
ZeroJudge Forum