【发布时间】:2015-06-28 02:50:56
【问题描述】:
我目前正在通过 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。
【问题讨论】:
-
我没有看到
ANGLE_B()中声明的变量side_b、angle_a和side_a.. 即使是global? -
在
create()函数中,side_a,side_b,angle_a和angle_b都被声明为全局并已定义。只有angle_b变量由ANGLE_B()函数定义,因此在这种情况下您的愿景非常值得怀疑。 -
我的错......真的......我的视力有问题......:D
-
我想知道为什么您将变量创建为字符串 - 而不是将它们创建为浮点数,然后仅在需要输出时转换为字符串。
-
这是个好问题。我向下转换的原因是因为我希望变量的值是一个四舍五入到最接近千分之一的常数。输出不是我想要的,而是像存储的实际变量一样
标签: python floating-point typeerror required