定义函数quardratic(a,b,c):求一元二次方程ax**2+bx+c=0的两个解
Topic sourceimport math
import cmathdef quadratic(a=1,b=2,c=1): k = b*b-a*c*4 if k >= 0: return (-b + math.sqrt(k))/(2*a),(-b - math.sqrt(k))/(2*a) elif k < 0: return (-b + cmath.sqrt(k))/(2*a),(-b - cmath.sqrt(k))/(2*a)w = quadratic(2, -6, 7)print(w)print('quadratic(2, 3, 1) =', quadratic(2, 3, 1))print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))if quadratic(2, 3, 1) != (-0.5, -1.0): print('测试失败')elif quadratic(1, 3, -4) != (1.0, -4.0): print('测试失败')else: print('测试成功')
- 1
却道天凉好个秋
def quadratic(a,b,c):
#参数判定
if not isinstance(a,(int,float)) or not isinstance(b,(int,float)) or not isinstance(c,(int,float)):
raise TypeError("bad operade type!")
s = b**2 - 4*a*c
if s >=0:
x1 = ((-b + math.sqrt(s))/2*a)
x2 = ((-b - math.sqrt(s))/2*a)
return x1,x2
else:
print('unsolvable!')
return
x1,x2=quadratic(2,3,1)
print(f'方程式的解为;x1={x1},x2={x2}')