我不确定原因,但每次尝试运行时,我都会在此函数上出错。任何帮助将不胜感激。
def lawofsinsang(A,B,a,b):
if not A and B:
if a and b:
return (math.asin((((math.sin(B)) * a) / b)))
else:
return A
for i in range(0,6):
angA = lawofsinsang(angA,angB,sideA,sideB)
angA = lawofsinsang(angA,angC,sideA,sideC)
angB = lawofsinsang(angB,angA,sideB,sideA)
angB = lawofsinsang(angB,angC,sideB,sideC)
angC = lawofsinsang(angC,angA,sideC,sideA)
angC = lawofsinsang(angC,angB,sideC,sideB)
好的,所以我更新了代码,而不是域错误,math.asin
什么也没做。新的回报如下:
math.asin(((math.sin(B)) * a) / b)
答案 0 :(得分:0)
传递给asin
的参数(反正弦)必须在区间[-1,1]中。如果不是,您会收到域错误。
答案 1 :(得分:0)
我发现了问题。 sin函数期望参数已经是弧度,而我一直在使用度。新代码如下:
def lawofsinsang(A,B,a,b):
if not A and B:
if a and b:
return math.degrees(math.asin(((math.sin(math.radians(B))) * a) / b))
else:
return A