如何解决我的代码有什么问题???ValueError: math domain error Python -sqrt
import math
a,b,c = map(int,input().split())
x = float((-b + math.sqrt(b**2-4*a*c))/2*a)
y = float((-b - math.sqrt(b**2-4*a*c))/2*a)
if y>x:
x = x1
y = x
x1 = y
if (b**2-4*a*c >=1):
print("Two different roots "+"x1=",int(x),","+"x2=",int(y),sep="")
elif (b**2-4*a*c == 0):
print("Two same roots x=",sep="")
else:
print("No real root")
错误信息:
Traceback (most recent call last):
File "/7760537/code_7760537.py",line 3,in
x = float((-b + math.sqrt(b**2-4*a*c))/2*a)
ValueError: math domain error
代码有什么问题??澳航 “数学域错误”是什么意思?? 抱歉我的英语不好....
解决方法
也许您的 b**2-4*a*c
给出了一个在数学中不起作用的负数,您应该输入一个
delta = b**2-4*a*c
if delta > 0:
x = float((-b + math.sqrt(delta))/2*a)
y = float((-b - math.sqrt(delta))/2*a)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。