我提前道歉。我是编码方面的初学者。在Python中定义函数时如何调用列表?
我试图使用Python编写一个函数来计算使用2只列出了包含使用下面的代码的节点位置的多边形的面积:
def Area(xvalues, yvalues):
area = 0
stepone = 0
for x in xvalues:
for y in yvalues:
stepone = stepone + (xvalues(x)-xvalues(0))*(yvalues(y+1)-yvalues(y-1))
area = abs(stepone)/2
print area
xvalues = [2000, 2126, 2716, 2524, 2518, 2000]
yvalues = [1000, 1256, 1102, 408, 611, 1000]
Area(xvalues, yvalues)
不过,我得到一个错误状态“TypeError:'列表'对象不可调用”。
我只想让方程遍历列表并返回最终产品。我不确定自己出错的地方,但我认为这可能与我的功能参数有关。
任何帮助将不胜感激。
你认为'stepone = stepone + ...'行会做什么?这是问题线,你有括号,你应该有括号,但'x(0)'*非常*混淆。 – msvalkon
该行假设为: stepone = stepone +(xvalues(x)-xalues(0))*(yvalues(y + 1)-yvalues(y-1)) xvalues/yvalues后面的子值假定为对应于列表中的位置。 – MCline
未来:在追踪中仔细观察一下,它会告诉你_exactly_哪一行存在问题,以及为什么。通常会让你更接近。 –