我面临一个类型错误:“float”对象不可调用

2024-10-01 13:24:38 发布

您现在位置:Python中文网/ 问答频道 /正文

def area_triangle(): # Function for area of triangle by herons formula
    a = float(input("Enter length of first side:"))
    b = float(input("Enter length of second side:"))
    c = float(input("Enter length of third side:"))
    s = (a + b + c)/2
    triangle = s*(s-a)(s-b)(s-c)**0.5
    print("Area of triangle =",triangle)

这是我面临错误的代码块


Tags: offorinputbydeffunctionareafloat
3条回答

把*放在三角形公式的括号之间

你的问题是第6行。 你有triangle = s*(s-a)(s-b)(s-c)**0.5

它应该是triangle = s * ( s - a ) * ( s - b ) * ( s - c) ** 0.5

你忘了将你的( s - a )( s - b )( s - c )彼此相乘

如果没有*,则将其作为类似(1)(2)(3)的函数调用,该函数将被解释为值为3的调用函数(1)(2),值为2的调用函数(1)

def area_triangle(): # Function for area of triangle by herons formula
    a = float(input("Enter length of first side:"))
    b = float(input("Enter length of second side:"))
    c = float(input("Enter length of third side:"))
    s = float((a + b + c)/2.0)
    triangle = s * ( s - a ) * ( s - b ) * ( s - c)**0.5
    print("Area of triangle =",triangle)
triangle = s*(s-a)(s-b)(s-c)**0.5

在Python中是不正确的,乘法不是这样执行的

triangle = s*(s-a)*(s-b)*(s-c)**0.5

相关问题 更多 >