将矩阵转换为较低的三角形而不使用numpy

时间:2018-09-12 17:25:19

标签: python

我的代码已将矩阵转换为较低的Triangular Matrix,但我需要消除行中最后一个元素之后的空格。我的代码是

matrix = [
    [2, 9, 9],
    [5, 6, 9],
    [7, 6, 5]
]
n = len(matrix)

for i in range(n):
    for j in range(n):
        if(i<j):
            print("0",end=" ")

        else:
            print(matrix[i][j],end=" ")
    if(i!=n-1):
      print()

输出:

Expected Output    Actual Output
2 0 0\n            2 0 0 \n 
5 6 0\n            5 6 0 \n
7 6 5              7 6 5

3 个答案:

答案 0 :(得分:1)

用构建所需行的表达式替换内部循环。如果愿意,可以将循环体合并为一行。

if/print

请注意,这样就不需要最后的public class CharAtExample { public static void main(String[] args) { // This is the string we are going to break down String inputString = "1+3,432.123*4535-24.4"; int stringLength = inputString.length(); char[] destArray = new char[stringLength];{ for (int i=0; i<stringLength; i++); }

答案 1 :(得分:0)

n = int(输入()) 矩阵= [] 对于范围(n)中的k:     lst = list(map(int,input()。split()))     matrix.append(lst) 对于我在范围(n)中:     对于范围(n)中的j:         如果我

    else:
        if(j==(n-1)):
          print(matrix[i][j],end='')
        else:
          print(matrix[i][j],end=" ")
if(i!=n-1):
  print()

答案 2 :(得分:0)

n=int(input())
matrix=[]
for k in range(n):
    lst=list(map(int,input().split()))
    matrix.append(lst)
for i in range(n):
    for j in range(n):
        if(i<j):
            if(j==(n-1)):
              print("0",end='')
            else:
              print("0",end=" ")

        else:
            if(j==(n-1)):
              print(matrix[i][j],end='')
            else:
              print(matrix[i][j],end=" ")
    if(i!=n-1):
      print()