【问题标题】:what is the Error in int object iteration?int 对象迭代中的错误是什么?
【发布时间】:2020-03-26 02:31:58
【问题描述】:

什么是'int'对象在这段代码中不可下标?

import math
import os
import random
import re
import sys

# Complete the hourglassSum function below.
def hourglassSum(arr):
    sum1=0
    result=0
    for i in range(4):
        for j in range(4):
            sum1=arr[i][j]+arr[i+1][j]+arr[i+2][j]+arr[i+1][j+1]+arr[i][j+2]+arr[i+1][j+2]+arr[i+2[j+2]]
        if sum1>result:
            result=sum1
    return result



if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    arr = []

    for _ in range(6):
        arr.append(list(map(int, input().rstrip().split())))

    result = hourglassSum(arr)

    fptr.write(str(result) + '\n')

    fptr.close()

【问题讨论】:

  • 你希望它做什么:arr[i+2[j+2]] ?

标签: python object int


【解决方案1】:

这条长线的最后一部分:

sum1=arr[i][j]+arr[i+1][j]+arr[i+2][j]+arr[i+1][j+1]+arr[i][j+2]+arr[i+1][j+2]+arr[i+2[j+2]]

(这部分在这里):

arr[i+2[j+2]]

是一个错误;您似乎在尝试引用2[j+2]。很明显,整数 2 不是数组,所以 Python 向您抱怨索引整数没有意义。

你可能希望最后一个词是:

arr[i+2][j+2]

仔细观察长线,您似乎想要完成的是获取arr 的 3x3 部分中的元素之和。但即使是长线也缺少一些组合。与其冒险输入错误的加法问题列表(因为有很多),不如使用一组嵌套循环来构建 3x3 段的总和。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2018-08-17
    • 2020-11-28
    相关资源
    最近更新 更多