Discuss / Python / 作业

作业

Topic source

Sayiod

#1 Created at ... [Delete] [Delete and Lock User]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Author:Sayiod

import math

"""
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax2+bx+c=0的两个解。
提示:计算平方根可以调用math.sqrt()函数
"""


def quadratic(a, b, c):
    if a != 0:
        e = b * b - 4 * a * c
        if e > 0:
            x1 = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)
            x2 = (-b - math.sqrt(b * b - 4 * a * c)) / (2 * a)
            return x1, x2
        elif e == 0:
            x3 = -b / (2 * a)
            return x3
        else:
            return '方程无实数根,但有2个共轭复根'
    else:
        return '无解'

print(quadratic(2, 3, 1))
print(quadratic(1, 3, -4))
print(quadratic(0, 3, 1))
print(quadratic(-3, 3, -4))
print(quadratic(2, 0, 0))
print(quadratic(-1, 0, 0))
print(quadratic(-2, 3, 1))
print(quadratic(1, 4, -3))

  • 1

Reply