为什么我的Python程序返回;ValueError:数学域错误“;?

为什么我的Python程序返回;ValueError:数学域错误“;?,python,math,valueerror,square-root,pythagorean,Python,Math,Valueerror,Square Root,Pythagorean,我正在做一个非常简单的程序,它计算玩家坐标和另一个地方坐标之间的距离(对于地雷船) 当我输入(0,0)作为我的坐标,输入(1,1)作为另一个位置的坐标时,Python返回“ValueError:math domain error”,而不是预期的根2值。虽然当我输入(0,0)作为我的坐标和另一个地方的坐标时,Python返回“0”。有人能帮我确定问题和可能的解决方案吗?中 dist = math.sqrt((px-x)^2+(pz-z)^2) 按位使用。要掌权,您应该使用或**,即 dist =

我正在做一个非常简单的程序,它计算玩家坐标和另一个地方坐标之间的距离(对于地雷船)

当我输入(0,0)作为我的坐标,输入(1,1)作为另一个位置的坐标时,Python返回“ValueError:math domain error”,而不是预期的根2值。虽然当我输入(0,0)作为我的坐标和另一个地方的坐标时,Python返回“0”。有人能帮我确定问题和可能的解决方案吗?

dist = math.sqrt((px-x)^2+(pz-z)^2)
按位使用。要掌权,您应该使用或
**
,即

dist = math.sqrt((px-x)**2+(pz-z)**2)
或者,您也可以使用:


^
是异或。使用
math.pow
**
获得力量。感谢你做了很多好事!我很感激。我已经几个月没有做任何Python编程了,我犯了这些愚蠢的错误。
dist = math.sqrt((px-x)**2+(pz-z)**2)
dist = math.hypot(px-x, pz-z)