TypeError:不支持+=:“int”和“list”从int lis检索int的操作数类型

2024-04-26 22:51:31 发布

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

我得到以下错误:

PrimaryDiagonalSum+=v   

TypeError:不支持+=:“int”和“list”的操作数类型

我只是试图从一个列表中检索一个int,该列表通过映射转换为int。 我做错什么了?在

^{pr2}$

Tags: 类型列表错误listinttypeerrorpr2primarydiagonalsum
2条回答

问题陈述:

Given a square matrix of size , calculate the absolute difference between the sums of its diagonals. input is like 1st line matriz size, other lines are matrix lines of ints separated by spaces

基于上述陈述,可以实现如下目标:

import sys
arraySize = int(raw_input().strip())
array = []
for i in range(arraySize):
    temp = list(map(int,raw_input().strip().split(' ')))
    array.append(temp)
PrimaryDiagonalSum=0
SecondaryDiagonalSum=0
for i in range(arraySize):
    for j in range(arraySize):
        if i==j:
            PrimaryDiagonalSum+=array[i][j]
        if (arraySize-1)-i==j:    
            SecondaryDiagonalSum+=array[i][j]
print(abs(PrimaryDiagonalSum-SecondaryDiagonalSum))

样本输入:

^{pr2}$

样本输出:

4

您可以在一次迭代中完成(即不需要j

abs(sum(array[i][i]-array[i][-i-1] for i in range(len(array))))

相关问题 更多 >