我提前道歉。我是編碼方面的初學者。在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_哪一行存在問題,以及爲什麼。通常會讓你更接近。 –