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