Python程序显示上三角矩阵
矩阵是由按行和列排列的许多数字组成的二维数组。方阵(其行和列具有相同数量的元素)有两条对角线。一种是主对角线 - 位于方阵的左上角到右下角。第二个是辅助对角线 - 位于从右上角到左下角。
对于方阵,如果主对角线以下的所有元素均为零,则称为上三角矩阵。
[1, 3, 4][0, 5, 6][0, 0, 3]
如果给定矩阵不是方阵,则无法将矩阵转换为上三角矩阵。
输入输出场景
假设我们有一个方阵。输出矩阵将是上三角矩阵。
立即学习“Python免费学习笔记(深入)”;
Input matrix:[1, 3, 5, 7][9, 2, 4, 2][6, 3, 1, 4][5, 8, 7, 6] Upper triangular matrix:[1, 3, 5, 7][0, 2, 4, 2][0, 0, 1, 4][0, 0, 0, 6]
让我们看下面的示例来显示上三角矩阵。我们将使用 python 列表列表来创建矩阵。
示例
在此示例中,我们将通过将下三角元素 (4, 8, 1) 替换为零来显示上三角矩阵。
arr = [[1, 2, 3], [4, 5, 6], [1, 8, 5]]print("The original matrix: ")for row in arr: print(row)print()print("The upper triangular matrix: ")if(len(arr) != len(arr[0])): print("Matrix should be a square matrix"); else: for i in range(3): for j in range(3): if(i<h3>输出</h3><pre class="brush:php;toolbar:false;">The original matrix: [1, 2, 3][4, 5, 6][1, 8, 5]The upper triangular matrix: 1 2 3 0 5 6 0 0 5
示例
在这个例子中我们只显示了上三角矩阵。而不是将较低的尝试元素转换为零。
arr = [[1, 2, 3], [4, 5, 6], [1, 8, 5]]print("The original matrix: ")for row in arr: print(row)print()print("The upper triangular matrix: ")for i in range(3): for j in range(3): if(i > j): print(end=" ") else: print(arr[i][j],end=" ") print(" ")
输出
The original matrix: [1, 2, 3][4, 5, 6][1, 8, 5]The upper triangular matrix: 1 2 3 5 6 5
示例
在此示例中,我们将通过将下三角形元素转换为零来更新原始矩阵,然后我们将显示上三角形矩阵。
arr = [[1, 2, 3], [4, 5, 6], [1, 8, 5]]print("The original matrix: ")for row in arr: print(row)print()print("The upper triangular matrix: ")for i in range(3): for j in range(3): if(i > j): arr[i][j] = 0 print(arr[i][j],end=" ") else: print(arr[i][j],end=" ") print(" ")
输出
The original matrix: [1, 2, 3][4, 5, 6][1, 8, 5]The upper triangular matrix: 1 2 3 0 5 6 0 0 5