Discuss / Python / 打卡,交作业

打卡,交作业

Topic source

# -*- coding: utf-8 -*-

#请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax²+bx+c=0的两个解。

import math

def quadratic(a,b,c):

    x1 = 0

    x2 = 0

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

    if a == 0:

        if b == 0:

            if c == 0:

                print('方程的解为任意值!')

            else:

                print('方程无解!')

        else:

            x1 = x2 = -c/b

            return x1,x2

    elif delta >= 0:

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

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

        return x1,x2

    else:

        print('方程无实数解!')

# 测试:

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