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

想增加一个判断 可是不知道为什么错误了

>>> z='b*b-4ac'

>>> import math

>>> def qijie(a,b,c):

...     t=math.sqrt(z)

...     if z>=0:

...         return(-b+t)/(2*a),(-b-t)/(2*a)

...     else:

...         print(error)

...

>>> print((qijie(1,5,9)))

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "<stdin>", line 2, in qijie

TypeError: must be real number, not str


正在回答

3 回答

...

z=b*b-4*a*c就行了,你加了引号把他变成了字符串,字符串咋开根号啊,所以错误说不能是str

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

你的判断语句 应该在 给t 赋值之前 不然 给t开根号的时候 就已经数学错误了


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

error该昵称已被占用 提问者

也对 不过我觉得最大的问题是如何让b*b-4*a*c<0判断出来,错误最主要是要使用number,不能是str
2019-03-17 回复 有任何疑惑可以回复我~
#2

error该昵称已被占用 提问者

就想问一下应该怎样处理会比较好?
2019-03-17 回复 有任何疑惑可以回复我~

4ac应该是4*a*c

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

error该昵称已被占用 提问者

这是一个错误 但最主要应该在这里出问题:TypeError: must be real number, not str 想问一下怎么能让b*b-4*a*c<0判断进去
2019-03-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

想增加一个判断 可是不知道为什么错误了

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