首先,任务是编写计算数学平面上三角形面积的代码。但不仅如此,在代码中还使用了这个函数,它将计算平面上两点之间的距离。我们有6个点,比如(x1, y1, x2, y2, x3, y3)我们需要用一个函数来计算平面上两点之间的距离来计算三角形的面积。p: 1点= (x1, y1)
有什么问题吗?IDK让我们看看我的代码:
def length(x1, y1, x2, y2):
z = (abs(x1 - x2) ** 2 + abs(y1 - y2) ** 2) ** (1/2)
return z
a, b, c, d, e, f = float(input()), float(input()), float(input()), float(input()), float(input()), float(input())
a = length(a, b, c, d)
b = length(a, b, e, f)
c = length(c, d, e, f)
p = a + b + c
ans = (p(p - a)(p - b)(p - c)) ** (1/2)
print(ans)
不幸的是,我收到一个错误:"'float'对象是不可调用的"PLZ,帮助这个代码,也许你会帮助输入。它实际上是奇怪的6 input()在一行。
在Python中,p(p-a)
不是乘法:它试图用参数p-a
调用函数p
,正如alexpdev在他们的评论中指出的那样,这是一个错误,因为您的p
(类型为float
)不是函数。您需要显式地编写所有*
操作符。
ans = (p * (p - a) * (p - b) * (p - c)) ** (1/2)
还有,你把Heron的公式搞错了:你有p = a + b + c
,但你需要(a + b + c) / 2
。