def hourglassSum():
for i in range(0,6):
arr1=map(int,input().split())
arr=list(arr1)
sum=[]
for i in range(len(arr)-2):
for j in range(len(arr)-2):
sum.append(arr[i][j]+arr[i][j+1]+arr[i][j+2]+arr[i+1][j]+arr[i+2][j]+arr[i+2][j+1]+arr[i+2][j+2])
maxi=max(sum)
print(maxi)
hourglassSum()
此代码显示以下错误:
TypeError: 'int' object is not subscriptable
如何解决?
答案 0 :(得分:0)
我怀疑这就是您要寻找的东西
def hourglassSum():
arr = []
for i in range(0,6):
arr1=map(int,input().split())
arr.append(list(arr1))
sum=[]
for i in range(len(arr)-2):
for j in range(min(len(arr[i]), len(arr[i+1]), len(arr[i+2]))-2):
sum.append(arr[i][j]+arr[i][j+1]+arr[i][j+2]+arr[i+1][j]+arr[i+2][j]+arr[i+2][j+1]+arr[i+2][j+2])
maxi=max(sum)
print(maxi)
两个注意事项:
(1)您要保留第一个循环的每次迭代,您所做的就是每次迭代都覆盖您的变量
(2)在遍历基本列表的元素的不同元素时-始终确保您不会遇到超出范围的索引异常-我想您的方法是放入6x6元素-因此这只是为了减轻最终差异