我认为我的代码应该正常工作,但为什么我一直收到域错误?
from math import sqrt
x1 = float(input("Enter the x1"))
x2 = float(input("Enter the x2"))
y1 = float(input("Enter the y1"))
y2 = float(input("Enter the y2"))
x_distance = x2 - x1**2
y_distance = y2 - y1**2
distance = x_distance + y_distance
print math.sqrt(distance)
答案 0 :(得分:2)
x_distance = x2 - x1**2
错了。您需要(x2 - x1)
周围的括号。公式是
distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)
所以你需要
x_distance = (x2 - x1)**2
y_distance = (y2 - y1)**2
代替。
在您的情况下,您会收到域错误,因为可能最终会出现负距离。
PS:还将math.sqrt
替换为sqrt
,因为您已经导入了它。