为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码为什么总是报语法错误?

import math


def quadratic_equation(a, b, c):

    q = b * b - 4 * a * c

    if q > 0:

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

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

        return x1,x2

    elif q = 0:

        x1 = x2 = (-b) / (2 * a)

        return x1,x2

    else q < 0:

        return '方程无实根'

            

print quadratic_equation(2, 3, 0)

print quadratic_equation(1, -6, 5)


正在回答

5 回答

import math

def quadratic_equation(a, b, c):

    q = b * b - 4 * a * c

    if q > 0:

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

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

        return x1,x2

    elif q == 0:  #注意作为条件判断请用 ==   而不是赋值 = 

        x1 = x2 = (-b) / (2 * a)

        return x1,x2

    elif q < 0:  #或者 else:

        return '方程无实根'

print quadratic_equation(2, 3, 0)

print quadratic_equation(1, -6, 5)


1 回复 有任何疑惑可以回复我~
#1

幕布斯4478614 提问者

非常感谢!
2017-10-08 回复 有任何疑惑可以回复我~

else 后面不要写判断语句,就一个冒号;就可以了

1 回复 有任何疑惑可以回复我~

elif q==0:  =是赋值  ==是判断

else:   else后面不加判断条件

最后 在你代码出现中文汉字的时候 请检查一下 编码格式是不是utf 而且 跟你ide一致的才可以   

建议在开头第一行加上  #encoding: utf-8


1 回复 有任何疑惑可以回复我~
#1

幕布斯4478614 提问者

好的,谢谢指点!
2017-10-08 回复 有任何疑惑可以回复我~

是elif q==0:   ,这里if语句中判断等于号是==,=是赋值符号

0 回复 有任何疑惑可以回复我~
#1

幕布斯4478614 提问者

恩恩,明白了,感谢!
2017-10-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758769    人
  • 解答问题       8657    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这段代码为什么总是报语法错误?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信