我似乎无法找到任何关于在4x4阵列中添加两个对角线的信息。
row = 4
column = 4
lis1 = [23.5, 30.1, 56.2, 11.9]
lis2 = [45.1, 8.9, 77.3, 54.1]
lis3 = [6.6, 7.7, 8.8, 2.2]
lis4 = [9.9, 8.9, 7.8, 23.6]
array = [lis1, lis2, lis3, lis4]
def diagonalSum(array):
count = 0
for i in range (len(array)):
count += array[i][i]
print ('The total of the elements in both diagonals equals %.2f' %(count))
return count
当我调用该函数时,它会打印lis1[0]+lis2[1]+lis3[2]+lis4[3]
的总数,但我还需要它来计算lis4[0]+lis3[1]+lis2[2]+lis1[3]
的总数并显示两个对角线的总和。有什么建议吗?
答案 0 :(得分:1)
您只计算从左上角到右下角的对角线,在本例中为0,0 1,1 2,2 3,3。您还需要计算从右上角到左下角的另一个对角线,或0,3 1,2 2,1 3,0
要使用一个循环,您可以添加另一个自己递增或递减的索引,如下所示
j = len(array) - 1
for i in range(len(array)):
# diagonal from top left to bottom right
count += array[i][i]
# diagonal from bottom left to top right
count += array[j][i]
j -= 1