用Python求解一元二次方程

题目:

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

ax2+ bx + c = 0

的两个解。

解题要点:

1.利用math的sqrt()方法取平方根

2.区分b^2-4ac大于零、等于零、小于零的三种情况(也可看做是两种,等于零时两个解是一样的)

3.定义好函数后,记得return取出来

4.Python里面的乘法,不管是字母和字母还是数字和字母,和数学不一样,不能省略*,否则报错


代码如下:


import math

def quadratic(a,b,c):

    m = b*b-4*a*c

    if m>=0:

        x = (-b+math.sqrt(m))/(2*a)

        y = (-b-math.sqrt(m))/(2*a)

        return x,y

# if m==0:

# x = -b/2*a

# return x,x

    else:

        return'No Answer!'

print (quadratic(2,3,1))

print (quadratic(1,3,-4))

print (quadratic(4,4,1))

ps.的编辑器真的很难用...

代码截图如下:(Ubuntu下截图太不方便了,如果有好的截图工具推荐给我哦~)

用Python求解一元二次方程_第1张图片
代码截图


用Python求解一元二次方程_第2张图片
运行结果

案例及学习材料来源于:廖雪峰大神的博客 

你可能感兴趣的:(用Python求解一元二次方程)