1. ホーム
  2. python

[解決済み] TypeError: floatが必要です - Python

2022-02-01 01:48:04

質問

現在、Python 3.xを使用して三角関数計算機を作成しています。ある関数で、直角三角形の未知の角度の値を作成しました。 'ANGLE_B'という関数を代入して定義した'angle_b'です。以下は参考のためのコードツリーである。

def create():
    global side_a
    side_a = format(random.uniform(1,100),'.0f')
    global side_b
    side_b = format(random.uniform(1,100),'.0f')
    global angle_a
    angle_a = format(random.uniform(1,180),',.3f')
    global angle_b
    angle_b = ANGLE_B()

def ANGLE_B():
    ang = format(math.asin(side_b*(math.sin(angle_a)/side_a)),'.3f')
    return ang

を変換する組み合わせを数多く試しました。 angANGLE_B() のような浮動小数点数のブロックに変換します。 ang = float(ang) しかし、うまくいきません。誰か助けてくれませんか?私はずっと TypeError: a float is required CMDで実行すると

解決方法を教えてください。

math.sinとmath.asinに文字列変数を渡しているため、型エラーが発生しています。floatに変換すれば直ります。

ang = format(math.asin(float(side_b)* (math.sin(float(angle_a))/float(side_a))),'.3f')

そもそも、これらの変数をすべてfloatとして格納することも可能です。