python课程设计矩阵对角线之和_在python中如何求矩阵对角线上下元素的和?
下面是一個示例案例,演示如何使用嵌套循環在兩種情況下求和:matrix = [[i+j for j in range(4)] for i in range(4)]
for row in matrix:
print(" ".join(list(map(str,row))))
totalSum = 0
for i in range(1,len(matrix)):
for j in range(i):
totalSum += matrix[i][j]
print("Below sum: ", totalSum)
totalSum = 0
for i in range(len(matrix)):
for j in range(i+1,len(matrix)):
totalSum += matrix[i][j]
print("Above sum: ", totalSum)
輸出:
^{pr2}$
您也可以使用以下一行程序:
對角線下方:totalSum = sum([matrix[i][j] for i in range(1,len(matrix)) for j in range(i)])
對角線上方:totalSum = sum([matrix[i][j] for i in range(len(matrix)) for j in range(i+1,len(matrix))])
如果要求主對角線上下所有數字的總和,可以執行索引檢查:totalSum = 0
for i in range(len(matrix)):
for j in range(len(matrix)):
if not i==j:
totalSum += matrix[i][j]
print("Sum: ", totalSum)
然而,另一種求和的方法(盡管不推薦)是求矩陣的總和和和主對角線的和,然后執行減法以找到最終和:matrix = [[i+j for j in range(4)] for i in range(4)]
for row in matrix:
print(" ".join(list(map(str,row))))
matrixSum = sum([sum(elem for elem in row) for row in matrix])
diagonalSum = sum([matrix[i][i] for i in range(len(matrix))])
finalSum = matrixSum - diagonalSum
print("Matrix sum: ", matrixSum)
print("Diagonal sum: ", diagonalSum)
print("Final sum: ", finalSum)
輸出:0 1 2 3
1 2 3 4
2 3 4 5
3 4 5 6
Matrix sum: 48
Diagonal sum: 12
Final sum: 36
注意:注意print語句中的語法,因為您使用的是python2,我的答案是python3。在
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python课程设计矩阵对角线之和_在python中如何求矩阵对角线上下元素的和?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么从某个div跳转到另一个_另一个伊甸
- 下一篇: python文本筛选html_pytho