我们需要找到 2 条对角线之和的绝对差。请你能告诉我哪里错了吗
we need to find the aboslute difference between sum of 2 diagonals. Please can u tell me where i am going wrong
将矩阵两条对角线之和的绝对差值打印为一个整数。
对角线差异(arr):
总和1=0
sum2=0
for i in range(len(arr)):
for j in range(len(arr)):
if (i==j):
sum1=sum1+arr[i][j]
if (((i+j)-1)==(len(arr))):
sum2=sum2+arr[i][j]
return abs(sum1-sum2)
P.s:
你的代码很接近,只是第二个 if 语句搞砸了,它实际上应该是这样的:
for i in range(len(arr)):
for j in range(len(arr)):
if i==j:
sum1 += arr[i][j]
if i+j == len(arr)-1:
sum2 += arr[i][j]
示例:
arr = [[1,2,3],[4,5,6],[7,8,9]]
sum1 #15
sum2 #15
abs(sum1-sum2) #0
数组长度为3.....
对于第二条对角线,第一个值位于 i=2, j=0 所以 i+j = 2 即 3-1
第二个值在 i=1,j=1,所以 i+j = 2 即 3-1...等
将矩阵两条对角线之和的绝对差值打印为一个整数。
对角线差异(arr): 总和1=0 sum2=0
for i in range(len(arr)):
for j in range(len(arr)):
if (i==j):
sum1=sum1+arr[i][j]
if (((i+j)-1)==(len(arr))):
sum2=sum2+arr[i][j]
return abs(sum1-sum2)
P.s:
你的代码很接近,只是第二个 if 语句搞砸了,它实际上应该是这样的:
for i in range(len(arr)):
for j in range(len(arr)):
if i==j:
sum1 += arr[i][j]
if i+j == len(arr)-1:
sum2 += arr[i][j]
示例:
arr = [[1,2,3],[4,5,6],[7,8,9]]
sum1 #15
sum2 #15
abs(sum1-sum2) #0
数组长度为3..... 对于第二条对角线,第一个值位于 i=2, j=0 所以 i+j = 2 即 3-1 第二个值在 i=1,j=1,所以 i+j = 2 即 3-1...等