Findind a triangle's area results in a error:'float' object is not callable
Findind a triangle's area results in a error:'float' object is not callable
我正在创建一个测试程序来计算 3d 三角形的面积,如下所示:
this one
我在最后一行遇到了问题,我希望它是完美的,但在类型错误中出现了问题。
我终于发现我只设置了1个参数,而且需要2个。
我不知道如何使用 google 因为这是一个特定的问题。
主要功能是这样的:
def triangle3d(width, height):
triangle2d = width*height/2
length = math.cos(random.randint(3, 5))
triangle3d = triangle2d*length
assert (width*height*length)/2 == triangle3d;
return triangle3d(triangle3d, triangle3d-2)
print(triangle3d(2, 4))
我原以为它只会打印出一个数字,但结果出现了一条错误消息:
Traceback (most recent call last):
File "C:/Users/Public/test.py", line 11, in <module>
print(triangle3d(2, 4))
File "C:/Users/Public/test.py", line 9, in triangle3d
return triangle3d(triangle3d, triangle3d-2)
TypeError: 'float' object is not callable
谢谢!
在你的函数中你赋值
triangle3d = triangle2d*length
稍后尝试调用它(这是引发错误的地方)
return triangle3d(triangle3d, triangle3d-2)
但是如果您只是重命名局部变量,您将 运行 变成 RecrusionError
...
你的length
可以是负数。这就是你所期望的吗?
我正在创建一个测试程序来计算 3d 三角形的面积,如下所示: this one 我在最后一行遇到了问题,我希望它是完美的,但在类型错误中出现了问题。
我终于发现我只设置了1个参数,而且需要2个。 我不知道如何使用 google 因为这是一个特定的问题。 主要功能是这样的:
def triangle3d(width, height):
triangle2d = width*height/2
length = math.cos(random.randint(3, 5))
triangle3d = triangle2d*length
assert (width*height*length)/2 == triangle3d;
return triangle3d(triangle3d, triangle3d-2)
print(triangle3d(2, 4))
我原以为它只会打印出一个数字,但结果出现了一条错误消息:
Traceback (most recent call last):
File "C:/Users/Public/test.py", line 11, in <module>
print(triangle3d(2, 4))
File "C:/Users/Public/test.py", line 9, in triangle3d
return triangle3d(triangle3d, triangle3d-2)
TypeError: 'float' object is not callable
谢谢!
在你的函数中你赋值
triangle3d = triangle2d*length
稍后尝试调用它(这是引发错误的地方)
return triangle3d(triangle3d, triangle3d-2)
但是如果您只是重命名局部变量,您将 运行 变成 RecrusionError
...
你的length
可以是负数。这就是你所期望的吗?