Python 3.3 边余弦规则计算器错误

标签 python calculator trigonometry

我正在尝试用 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/

相关文章:

python - 如何从文本文件中去除标点符号

Java分数计算器

javascript - 日复一日,包括闰年

signal-processing - 正弦表插值

javascript - Python/HTML 如何在没有 cookie Advisor 的情况下抓取网页内容?

python - 多处理池和 Lightgbm

Python bottle 静态文件不应用 CSS

floating-point - 计算器如何精确工作?

c++ - 如何从atan2角度返回坐标

javascript - 子弹不会从枪管中射出