Discuss / Python / 一切的错误都是因为不熟练...加油

一切的错误都是因为不熟练...加油

Topic source

import math#调用math

def quadratic(a, b, c):

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

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

    raise TypeError('error type')

    elif m<=0:

    return '无解'

    else:

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

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

    return x1,x2

x=quadratic(2, 4, 1)

# 测试:

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('测试成功')

树语流岚

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

当m=0时,并非无解,只是两个解相等。


  • 1

Reply