Discuss / Python / 作业

作业

Topic source

chengww5217

#1 Created at ... [Delete] [Delete and Lock User]
# -*- coding: utf-8 -*-

import math

def quadratic(a, b, c):
    if not (isinstance(a, (int, float)) and isinstance(b, (int, float)) and isinstance(a, (int, float))):
        raise TypeError("bad operand type")
    delta = pow(b, 2) - 4 * a * c
    if delta > 0:
        x1 = (-b + math.sqrt(delta))/(2 * a)
        x2 = (-b - math.sqrt(delta))/(2 * a)
        return x1, x2
    elif delta == 0:
        return -b/(2 * a)
    else:
        return None

# 测试:
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

Reply