25
2018
05

【作业】Python解一元二次方程

最近在学习Python,点击进入廖雪峰的官方网站

在定义函数一章有个小练习,记录一下

练习内容

请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:

ax2 + bx + c = 0

的两个解。

提示:计算平方根可以调用math.sqrt()函数

代码

# -- coding: utf-8 --
#ax2+bx+c=0
import math
def quadratic(a,b,c):
    if b*b-4*a*c<0:
        return 'err'        
    else:
        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)


#print(quadratic(1,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('测试成功')

允许结果如下图:

image.png

打赏
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。