# -*- coding:utf-8 -*-
import math
def quadratic(a,b,c):
if not isinstance(a*b*c, (int,float)):
raise TypeError('bad operand type')
q = b ** 2 - 4 * a * c
if q < 0:
print('该方程无解!')
elif q == 0:
x = (-b) / (2 * a)
return x
else:
x1 = (-b + math.sqrt(q))/(2 * a)
x2 = (-b - math.sqrt(q))/(2 * a)
return x1,x2
# 测试:
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('测试成功')
Sign in to make a reply
太阳照常升起
# -*- coding:utf-8 -*-
import math
def quadratic(a,b,c):
if not isinstance(a*b*c, (int,float)):
raise TypeError('bad operand type')
q = b ** 2 - 4 * a * c
if q < 0:
print('该方程无解!')
elif q == 0:
x = (-b) / (2 * a)
return x
else:
x1 = (-b + math.sqrt(q))/(2 * a)
x2 = (-b - math.sqrt(q))/(2 * a)
return x1,x2
# 测试:
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('测试成功')