0

こんにちは、私はここに来たばかりで、Pythonやコード全般をよく理解していませんが、試していて、2〜3時間試していて、しようとしています

「辺の長さが 3、7、9 の三角形を考えてみましょう。コサインの法則では、三角形の 3 つの辺 (a、b、c) と、辺 a と b の間の角度 C が与えられると、次のように述べています。c^2 = b^ 2 +a^2 - 2 * a * b * cos(C) Python コードを記述して、三角形の 3 つの角度を計算します。"

これは宿題で、これは大変です!!!!!!!!!!!!!!!! これが私がこれまでに行ったことです...

  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

説明: 宿題で、それぞれの角または 3 つの角の角度を計算するように求められています。これは式によって行われ、すべての三角形と同様に、3 つの角度の合計は 180 になります。私がしたことは、各角度のアコサインを度単位で取り (関数は引数の順序を考慮する)、アサーションを作成して結果を出力する関数を作成することです。

重要な点は、数値を整数 (3、7、9) として入力したことと、式に除算があることです。分母と分子のすべてが整数であるため、これは整数除算です。そこで2.0、この 2 つが浮動小数点数であることを Python に伝えていました。それ以外はすべて自動的に変換されます。これはやや微妙であり、注意を払う必要があります。

これがお役に立てば幸いです。Python と数学のどちらも、勉強をあきらめないでください。

于 2013-01-19T02:25:52.740 に答える