Discuss / Python / 定义函数quardratic(a,b,c):求一元二次方程ax**2+bx+c=0的两个解

定义函数quardratic(a,b,c):求一元二次方程ax**2+bx+c=0的两个解

Topic source

def quadratic(a,b,c):

    #参数判定

    if not isinstance(a,(int,float)) or not isinstance(b,(int,float)) or not isinstance(c,(int,float)):

        raise TypeError("bad operade type!")

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

    if s >=0:

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

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

        return x1,x2

    else:

        print('unsolvable!')

        return

x1,x2=quadratic(2,3,1)

print(f'方程式的解为;x1={x1},x2={x2}')

小石头

#2 Created at ... [Delete] [Delete and Lock User]
import math
import cmathdef quadratic(a=1,b=2,c=1):    k = b*b-a*c*4    if k >= 0:        return (-b + math.sqrt(k))/(2*a),(-b - math.sqrt(k))/(2*a)    elif k < 0:        return (-b + cmath.sqrt(k))/(2*a),(-b - cmath.sqrt(k))/(2*a)w = quadratic(2, -6, 7)print(w)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