3 回答

TA貢獻16條經驗 獲得超25個贊
謝邀,你用的3.6版本,Python版本2中print是關鍵字,Python版本3中print是函數,函數的調用一般要加小括號吧,具體不清楚,你看一下Python官網版本說明,應該有詳細答案,這門語言沒有詳細看過,只能回答這些了。
我剛剛給你測試了一下程序,在2.7版本中,你的程序是沒有問題的,但是3.6版本中print函數是報錯的,印證了上面的觀點,
最后兩行修改成這樣就可以了(添加部分為加粗括號):
print (quadratic_equation(2,3,0))
print (quadratic_equation(1,-6,5))

TA貢獻3條經驗 獲得超4個贊
你這用的是2.7的話應該是可以通過的。但是Python3.6的版本還是有些語法和2不一樣,比如這個print 是要加括號的,因為在python3.0以上的版本當中 print 當做函數調用,可以說是更規范,但是對于習慣2的人來說還是有些災難的感覺。如果你學的書籍是有關2的 ,那就學習一下2 與3的區別。

TA貢獻3593條經驗 獲得超0個贊

TA貢獻24條經驗 獲得超7個贊
import math
a,b,c = input("Enter the coefficients of a, b and c separated by commas: ")
d = b**2-4*a*c # discriminant
if d < 0:
? ?print "This equation has no real solution"
elif d == 0:
? ?x = (-b+math.sqrt(b**2-4*a*c))/2*a ? ?
? ?print "This equation has one solutions: ", x
else:
? ?x1 = (-b+math.sqrt(b**2-4*a*c))/2*a
? ?x2 = (-b-math.sqrt(b**2-4*a*c))/2*a ? ?
? print "This equation has two solutions: ", x1, " and", x2
添加回答
舉報