Discuss / Python / 练习

练习

Topic source

# -*- 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('测试成功')


  • 1

Reply