在我的数学课上,我们在三角学中,学习正弦定律/余弦定律。我编写的程序会从数学问题中获取已知的值,并在无聊时吐出答案。
我正在努力编写一种算法来解决侧面/角度/侧面(SAS)问题。我将这个问题用作参考(对质量表示歉意):
在纸上计算时,大约等于10.7单位。
到目前为止是我的代码:
import math
# Law of Cosines
# SAS
print("Cosines: SAS")
x = float(input("Known Side Length #1: "))
y = float(input("Known Side Length #2: "))
z = float(input("Known Angle Degrees: "))
a = ((x*x)+(y*y))-(2*x*y*math.radians(math.cos(z)))
b = math.sqrt(a)
print(str(b))
这是使用代码时的结果:
Cosines: SAS
Known Side Length #1: 5
Known Side Length #2: 9
Known Angle Degrees: 95
10.23977763686627
很显然,这些答案是不同的。我将a
和b
分开以尝试找出问题出在哪里,并且似乎在a
中,因为它给出的值不等于纸上的c ^ 2(我以前正在打印该值也是a
)。
代码是错误的,还是我在纸上写错了?如果代码错误,请提供帮助。
[别介意大家,我很傻。我将math.cos
和math.radians
颠倒了。谢谢您的帮助!
新代码:
print("Cosines: SAS")
x = float(input("Known Side Length #1: "))
y = float(input("Known Side Length #2: "))
z = float(input("Known Angle Degrees: "))
a = ((x*x)+(y*y))-(2*x*y*math.cos(math.radians(z)))
b = math.sqrt(a)
print(str(b))