【问题标题】:Print the elements of the matrix with each row in a new line and elements of each row are separated by a space打印矩阵的元素,每行换行,每行的元素用空格分隔
【发布时间】:2019-08-19 16:10:12
【问题描述】:

为您提供行数 (R) 和列数 (C)。您的任务是生成具有 R 行和 C 列的矩阵,使所有数字按行方式从 1 开始按递增顺序排列。

输入格式: 第一行包含两个数字 R 和 C,用空格隔开。

输出格式: 打印矩阵的元素,每行换行,每行元素用空格分隔。

注意:每行的最后一个元素后面不能有空格,最后一行后面不能有新行。

例子:

输入:

3 3

输出:

1 2 3
4 5 6
7 8 9

我已经尝试了以下代码。它在在线编译器上运行。但在某些编译器中显示错误,\n 在输出中。我想删除这个错误

x=[]
a=[int(n) for n in input().split()]
#print(*a)

for i in range(a[0]):
    x.append(list(map(int, input().rstrip().split())))

for i in range(a[0]):
    for j in range(a[1]): 
        print(x[i][j], end = " ")
    print()

新行的期望输出

1 2 3
4 5 6

实际输出

1 2 3\n
4 5 6

【问题讨论】:

    标签: python matrix input split


    【解决方案1】:

    此脚本将以包含空格分隔的两个数字 R 和 C 的行的形式接受输入。

    它将打印带有空格分隔值的矩阵:

    R, C = map(int, input().split())
    
    print('\n'.join(' '.join(str(C*row + col) for col in range(1, C+1)) for row in range(R)), end='')
    

    打印(在输入3 3的情况下):

    1 2 3
    4 5 6
    7 8 9
    

    注意:最后一行后面没有换行符。

    【讨论】:

    • 这比原始代码更漂亮,但从技术上讲不会创建矩阵 - 它只是打印这样的矩阵将具有的值。 ;-)
    • 正确,应该是:print('\n'.join(' '.join(str(C*row + col) for col in range(1, C+1)) for row in range(R)), end='')
    • @Amdoc 现在试试,我做了小修正。谢谢天门
    【解决方案2】:

    你可以试试:

    for i in range(a[0]):
      for j in range(a[1]): 
        if (j == a[1]-1):
          print(x[i][j])
        else:
          print(x[i][j], end = " ")
    

    您还可以将代码稍微简化为:

    a=[int(n) for n in input().split()] # e.g. a = [2,4]
    
    matrix = [[i*a[1]+j+1 for j in range(a[1])] for i in range(a[0])]
    for m in matrix:
        print(*m)
    

    【讨论】:

      【解决方案3】:
      r,c = input("Enter the number of Row and Column : ").split()
      r=int(r)
      c=int(c)
      matrix=[]
      count=0
      
      for i in range(r*c):
          matrix.append(i+1)
      
      for i in matrix:
          count+=1
          if(count==r):
              print(i)
              print("\n")
              count=0
          else:
              print(i,end=" ")
      

      【讨论】:

        猜你喜欢
        • 2021-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-13
        • 1970-01-01
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        相关资源
        最近更新 更多