1. 程式人生 > >Python解一元二次方程:ax2 + bx + c = 0

Python解一元二次方程:ax2 + bx + c = 0

#一元二次方程公式  標量=b**2-4*a*c  如果標量大於0x2個解,如果等於0x 1個解為x=-b/2a  小於0則無解
#公式 x=(-b+math.sqrt(b**2-4*a*c))/2*a     math.sqrt(x)開平方根

import math
def quadratic(a,b,c):
    key=b**2-4*a*c
    if key>0:
        x1=(-b+math.sqrt(key))/2*a
        x2=(-b-math.sqrt(key))/2*a
    if key==0:
        x1=-b/2*a
        x2=x1
    if key<0:
        print('方程無解')
        return(None,None)
    return (x1,x2)
print(quadratic(1,3,-4))