0

嗨,我是新来的,我不太了解 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)

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

4

1 回答 1

9

你有一个 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 和数学!

于 2013-01-19T02:25:52.740 回答