Python程序显示上三角矩阵
矩阵是一种二维数组,由多个按行和列排列的数字组成。一个正方形矩阵(其行和列具有相同的元素数)具有两条对角线。其中一个是主对角线 – 从正方形矩阵的左上角到右下角的位置。第二个是次对角线 – 从右上到左下角的位置。
对于一个正方形矩阵,如果主对角线下面的所有元素都是零,则称之为 上三角形 矩阵。
[1, 3, 4]
[0, 5, 6]
[0, 0, 3]
如果给定的矩阵不是正方形矩阵,则无法将矩阵转换为上三角矩阵。
输入输出场景
假设我们有一个正方形矩阵。输出矩阵将是上三角矩阵。
输入矩阵:
[1, 3, 5, 7]
[9, 2, 4, 2]
[6, 3, 1, 4]
[5, 8, 7, 6]
上三角矩阵:
[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("原始矩阵: ")
for row in arr:
print(row)
print()
print("上三角矩阵: ")
if (len(arr)!= len(arr [0])):
print("矩阵必须是正方形");
else:
for i in range(3):
for j in range(3):
if (i <= j):
print(arr[i][j],end=" ")
else:
print(0,end=" ")
print()
输出
原始矩阵:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
上三角矩阵:
1 2 3
0 5 6
0 0 5
示例
在此示例中,我们只显示了上三角形矩阵。而不是将较低的三角元素转为零。
arr = [[1, 2, 3],
[4, 5, 6],
[1, 8, 5]]
print("原始矩阵: ")
for row in arr:
print(row)
print()
print("上三角矩阵: ")
for i in range(3):
for j in range(3):
if (i > j):
print(end=" ")
else:
print(arr[i][j],end=" ")
print(" ")
输出
原始矩阵:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
上三角矩阵:
1 2 3
5 6
5
示例
在此示例中,我们将通过将下三角元素转换为零来更新原始矩阵,然后显示上三角矩阵。
arr = [[1, 2, 3],
[4, 5, 6],
[1, 8, 5]]
print("原始矩阵: ")
for row in arr:
print(row)
print()
print("上三角矩阵: ")
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(" ")
输出
原始矩阵:
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]
上三角矩阵:
1 2 3
0 5 6
0 0 5