我正在尝试用 Python 制作一个计算器,但我输入的余弦规则出现错误。
这是我的
x = float(input("First Side "))
y = float(input("Second Side "))
z = float(input("Angle which isn't opposite First or Second Side "))
print (" ")
print ("Side is: "+str(math.sqrt(((x**2)+(y**2))-(2*x*y*(math.cos(z)*(180/math.pi))))))
这是我的错误
Traceback (most recent call last):
File "D:/Users/---------/Python/test calc.py", line 339, in <module>
print ("Side is: "+str(math.sqrt(((x**2)+(y**2))-(2*x*y*(math.cos(z)*(180/math.pi))))))
ValueError: math domain error
您可以通过这样做来计算余弦法则:
a=√(b^2+c^2−2*b*c*cos(α))
我做过的事
x=b
y=c
z=α
最佳答案
行内
2*x*y*(math.cos(z)*(180/math.pi))
您似乎在尝试将度数转换为弧度?但是 (1) 因子是颠倒的,并且 (2) 它需要在 cos(...)
中。
所以你的意思可能是
2*x*y*math.cos(z*math.pi/180)
(检查:当 z 为 180 度时,上面的代码给出了 pi 弧度)。
关于Python 3.3 边余弦规则计算器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20195977/