area = 1
L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]
for i in L:
for j in L:
area *= L[i][j]
print("第{}个长方形的体积为{}".format(i,area))
area = 1
你这应该是从c啊之类的语言里面学的习惯吧,当你for i in L的时候,它迭代的不是下标1、2、3,它迭代的是里面的元素,在这句里迭代的是[1,2,3]和后面的两个列表。所以你这句话按机器理解的是area*=L[[1,2,3][5,3,2]],很明显,这是错的。所以这个错误报告给你说list的下标应该是整数或者是划分,不能是个列表。想达到你想要的效果,就for i in range(len(L)吧,但就算是按下标算,你思路也是错的。
L = ([1, 2, 3], [5, 3, 2], [7, 3, 2])