【发布时间】:2012-09-03 09:11:02
【问题描述】:
这可能是一个非常绿色的问题,但我希望你能理解——刚刚开始使用 python 并试图改进。无论如何,编写了一个小函数来执行“鞋带法”,以在笛卡尔平面中找到多边形的面积(参见this 进行复习)。
我想知道如何改进我的方法,这样我就可以尝试新奇的方法来做同样的事情。
def shoelace(list):
r_p = 0 # Positive Values
r_n = 0 # Negative Values
x, y = [i[0] for i in list], [i[1] for i in list]
x.append(x[0]), y.append(y[0])
print(x, y)
for i in range(len(x)):
if (i+1) < len(x):
r_p += (x[i] * y[i+1])
r_n += (x[i+1] * y[i])
else:
break
return ((abs(r_p - r_n))/2)
【问题讨论】:
-
您应该在代码审查 SE 网站上发布此内容。
-
一个提示:
list是一个不好的变量名称,因为它是一个内置函数的名称。