PHP前端开发

Python程序显示上三角矩阵

百变鹏仔 3小时前 #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 &gt; 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 &gt; 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