# -*- coding: gbk -*- #在Windows中用
import math
def result(a,b,c):
derat = b**2-4*a*c
if a == 0:
if b != 0:
x = -c / b
return x
else:
return '无解'
else:
if derat < 0:
return '无实根 '
elif derat == 0:
x = (-b-math.sqrt(derat))/2*a
return x
else:
xone = (-b+math.sqrt(derat))/2*a
xtwo = (-b-math.sqrt(derat))/2*a
return xone,xtwo
print result(1,1,1)
print result(1,2,1)
print result(1,2,-3)
print result(0,0,3)
结果:
无实根
-1.0
(1.0, -3.0)
无解
#(-b±√(b²-4ac))/2a
import math
def root(a,b,c):
if a==0:
if b!=0:
return ((-1)*c/b)
else:
return '无解'
else:
d=b*b-4*a*c
#sd=math.sqrt(math.fabs(d))
if d>=0:
sd=math.sqrt(math.fabs(d))
return (((-1)*b+sd)/(2*a),((-1)*b-sd)/(2*a))
else:
#return (complex((-1)*b/(2*a),sd/(2*a)),complex((-1)*b/(2*a),(-1)*sd/(2*a)))
return "无实根"
if __name__=="__main__":
print(root(1,2,1))
print(root(1,1,1))
print(root(0,1,1))
print(root(0,0,1))
结果:
(-1.0, -1.0)
无实根
-1
无解