Discuss / Python / 作业

作业

Topic source

import math

def quadratic(a, b, c):

    for i in (a, b, c):

        if not isinstance(i, (int, float)):

            raise TypeError('Bad operand type')

        if a == 0:

            return 'Error, a = 0'

        else:

            discriminant = b**2 - 4*a*c

            if discriminant <= 0:

                return 'no answer'

            elif discriminant == 0:

                x = (-b + math.sqrt(discriminant))/(2*a)

                return x, x

            else:

                x1 = (-b + math.sqrt(discriminant))/(2*a)

                x2 = (-b - math.sqrt(discriminant))/(2*a)

                return x1, x2

print('quadratic(0, 3, 1) =', quadratic(0, 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