我目前正在通过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
我尝试了将ang
块中的ANGLE_B()
转换为浮点数的多种组合,例如ang = float(ang)
但我没有运气。有人可以帮忙吗?当我在CMD中运行时,我不断获得TypeError: a float is required
。
答案 0 :(得分:4)
您将字符串变量传递给math.sin和math.asin,这会导致类型错误。你可以通过转换为float来修复:
ang = format(math.asin(float(side_b)* (math.sin(float(angle_a))/float(side_a))),'.3f')
您也可以将所有这些变量存储为浮点数。