Discuss / Python / 互相学习

互相学习

Topic source
在此插入代码
import math

def quadratic(a, b, c):
    delta = b * b - 4 * a * c
    if a == 0:
            return None
    else:
        if delta == 0:
            return -b / (2*a)
        elif delta < 0:
            return None
        else:
            return (-b+math.sqrt(delta))/(2*a), (-b-math.sqrt(delta))/(2*a)
print(quadratic(2, 3, 1))
print(quadratic(1, 3, -4))
print(quadratic(0, 3, -4))

严谨一点这样写最好- -,望指正

# -*- coding: utf8 -*-

import math

def quadratic(a, b, c):
    delta = b * b - 4 * a * c
    if a == 0:
        if b == 0:
            if c == 0:
                print('方程恒成立,无穷解')
            else:
                return None
        else:
            return -c/b
    else:
        if delta == 0:
            return -b / (2*a)
        elif delta < 0:
            return None
        else:
            return (-b+math.sqrt(delta))/(2*a), (-b-math.sqrt(delta))/(2*a)

# some particular test cases
print(quadratic(2, 3, 1))
print(quadratic(1, 3, -4))
print(quadratic(0, 3, -4))
print(quadratic(0, 0, 0))
print(quadratic(0, 0, 1))
print(quadratic(0, 2, 1))

vvvhyx

#3 Created at ... [Delete] [Delete and Lock User]

个人想法,因为题目已经说了一定是一元二次方程,所以a != 0, 如果输入a = 0,应该算输入不恰当的参数,添加个参数检查即可。


  • 1

Reply