用Python中的余弦解三角形

2024-09-27 07:18:12 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我是新来的,我不太懂python或一般的代码,但我正在尝试,我已经尝试了2-3个小时,我正在尝试

“考虑一个边长为3、7和9的三角形。余弦定律指出,给定三角形的三条边(a、b和c)以及边a和b之间的角c: c^2=b^2+a^2-2*a*b*cos(c) 编写Python代码来计算三角形中的三个角度。”

这是一个家庭作业,这很难!!!!!!!!!!!!!! 这是我到目前为止所做的。。。

  import math

  a_float = 3 
  b_float = 7 
  c_float = 9

  def find_angle_cosine_of_c_float =

 (c_float**2-b_float**2-a_float**2)/(-2*a_float*b_float)

  a = input("enter A: ") 
  b = input("enter B: ") 
  c = input("enter C: ")

  angle_c_float = math.acos(cosine_of_float)

  angle_c_float = angle_c_float*180/math.pi

  assert find_angle_cosine_of_c_float(7, 9, 3)
  assert find_angle_cosine_of_c_float(3, 7, 9) 
  assert find_angle_cosine_of_c_float(9, 3, 7)

  Return angle(angle_c_float)

如果它看起来像一堆废话,那是因为它是。。。。。。。。


Tags: of代码inputmathassertcosfindfloat
1条回答
网友
1楼 · 发布于 2024-09-27 07:18:12

你有一个python问题和一个数学问题。

此代码应按您的要求执行:

import math

a = 3 
b = 7 
c = 9

def angle (a, b, c):
    return math.degrees(math.acos((c**2 - b**2 - a**2)/(-2.0 * a * b)))

angA = angle(a,b,c)
angB = angle(b,c,a)
angC = angle(c,a,b)

assert angA + angB + angC == 180.0

print angA
print angB
print angC

说明:你的作业要求你计算每个角或三个角的角度。这是通过公式来完成的,三个角的总和应该是180,就像每个三角形一样。我所做的是创建一个函数,它接受每个角度的正弦度(函数考虑参数的顺序),然后创建断言并打印结果。

重要的一点是你输入的数字是整数(3,7,9),公式中有一个除法。这是一个整数除法,因为分母和分子中的一切都是整数。所以我用2.0告诉Python这两个是浮点数,其他的都会自动转换。这有点微妙,你应该注意这点。

希望这有帮助,不要放弃学习,无论是Python和数学!

相关问题 更多 >

    热门问题