为了账号安全,请及时绑定邮箱和手机立即绑定

不使用numpy将矩阵转换为下三角

不使用numpy将矩阵转换为下三角

小怪兽爱吃肉 2021-06-07 13:16:46
我的代码已将矩阵转换为下三角矩阵,但我需要消除一行中最后一个元素之后的空间。我的代码是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 Output2 0 0\n            2 0 0 \n 5 6 0\n            5 6 0 \n7 6 5              7 6 5
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

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


for i in range(n):

    row = ' '.join(str(matrix[i][j]) if i >= j else "0"

                    for j in range(n))

请注意,这消除了对最终if/print.


查看完整回答
反对 回复 2021-06-16
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

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()


查看完整回答
反对 回复 2021-06-16
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

n=int(input()) matrix=[] for k in range(n): lst=list(map(int,input().split())) matrix.append(lst) for i in range(n) : 对于范围内的 j (n): if(i


    else:

        if(j==(n-1)):

          print(matrix[i][j],end='')

        else:

          print(matrix[i][j],end=" ")

if(i!=n-1):

  print()


查看完整回答
反对 回复 2021-06-16
  • 3 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信