我一直在浮动'对象不可调用

时间:2017-01-04 23:02:51

标签: python python-3.x floating-point

我是编码的新手,我不知道如何使用'浮动'。有人可以告诉我在这段代码中使用浮动的地方,以便我不会收到:

break

到目前为止我的代码:

TypeError, 'float' object is not callable.  

1 个答案:

答案 0 :(得分:2)

问题出在area = (1/2)(b1+b2)*h

Python语法与数学不同,一,()用于将参数传递给方法调用。但是,(1/2)返回一个浮点数,因此解释的是一个调用,结果为b1 + b2作为(1/2)的参数。

您只需在公式中插入*即可使其正确,即将方法调用更改为乘法(为float类型定义)。

因此,固定线为area = (1/2)*(b1+b2)*h

另一个问题是,在修复之后你会注意到这是所有变量的实际类型,即b1b2h是字符串。要解决这个问题,你需要将它们解析为浮点数:

b1 = float(input("Enter the length of one of your bases: "))
b2 = float(input("Enter the length of one of your bases: "))
h = float(input("Enter the height: "))

Python使用duck typing,因此问题通常会在运行时出现。