在方程/循环中使用列表中的值

时间:2016-11-21 21:11:53

标签: python

我有一个坐标的简短列表:(0 | 0)(10 | 0)(10 | 10)(0 | 10)。我试图使用这些坐标来计算他们构建的方块的面积。 for循环应运行4次并执行下面的数学运算。 在运行时,我在area = .... line:

中得到以下错误

TypeError:'int'对象不可订阅

list = [[0,10,10,0],[0,0,10,10]]

def gaussarea(coords):
    area = 0
    for coords in coords:
        area = area + (coords[0][0] - coords[0][1]) * (coords[1][0]+coords[1][1])
    return area

a = (gaussarea(list))

2 个答案:

答案 0 :(得分:0)

您正在尝试访问int的索引,这是无意义的,因为每个coords都是一个列表,而不是嵌套列表。

假设你确定得到一个矩形(或正方形),你就可以了

def gaussarea(coords):
    area = (coords[0][1] - coords[0][0]) * (coord[1][2] - coords[1][1])
    return area

答案 1 :(得分:0)

cords[0]的值是int。因此cords[0][0]试图索引到一个int,因此你的错误。你可以删除for循环,你的代码应该可以工作。