在公式/循环中使用列表中的值

2024-10-04 01:32:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简短的坐标列表:(0 | 0)(10 | 0)(10 | 10)(0 | 10)。我试着用这些坐标来计算他们建的广场的面积。 for循环应该运行4次并执行下面的数学运算。 在运行时,我在区域中得到以下错误=。。。。生产线:

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))

Tags: 对象区域列表for错误数学areacoords
2条回答

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

您试图访问int的索引,这是没有意义的,因为每个coords都是一个列表,而不是嵌套列表

假设你得到的是一个矩形(或正方形),你就足够好了

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

相关问题 更多 >