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

谢谢您的帮助!快来看一下吧

https://img1.sycdn.imooc.com//5bdbaa3c0001aa5207130319.jpg

在问答区看到的,自己弄了一下发现出现错误,不知道该怎么改正?

正在回答

3 回答

import math

def quadratic_equation(a,b,c):

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

    if k>0:

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

        return x

    elif k==0:

        x=(-b)/(2*a)

        return x

    else:

        x=(-b-math,sqrt(k))/(2*a)

        return x

语法错误,python的返回值不能进行赋值操作了,其次不能写2个else,我帮你更改了语法的错误,但是你逻辑判断的错误我没更改,你的判断是有逻辑错误的,你可以验证,会发现最后的else是没有任何用的。

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

左玉晶 提问者

感谢感谢! 我是忘记elif了,这个是我看别的提问看到的 没多仔细看 以为逻辑没问题的
2018-11-02 回复 有任何疑惑可以回复我~
#2

慕名er来

多少个else都能写的吧。只是他中间的else后面没加if判断,所以不对。elif只是这种多重条件判断的简写结构而已
2018-11-19 回复 有任何疑惑可以回复我~

elif k==0:

        x=(-b)/(2*a)

        return x

这行不需要吧,上面直接改成

  if k>=0:

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

        return x 

这样就行吧?


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

左玉晶 提问者

是的 已经改好了 谢谢
2018-11-07 回复 有任何疑惑可以回复我~

b**2-4*a*c 不能等于k,必须要等于de

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

左玉晶 提问者

为什么呢?那不就是一个赋值吗?
2018-11-02 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

谢谢您的帮助!快来看一下吧

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