2016-03-30 13 views
0

4角形の配列に両方の対角線を追加することはできません。Python 3配列に対角線を追加する

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]の合計を計算し、両方の対角線の合計を表示する必要があります。助言がありますか?

答えて

1

左上から右下に対角線を数えます。この場合は0,0 1,1 2,2,3,3です。右上から左下、または0,3,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 
+0

私はそれが明らかでなければならないことを知っていました...脳はただ揚げられました。お手伝いありがとう。 – MikeD

関連する問題