【问题标题】:Given Input, Print matrix of the square给定输入,打印正方形的矩阵
【发布时间】:2022-11-20 16:27:03
【问题描述】:

例如给定输入 3。

打印:

9 4 3
8 5 2
7 6 1

给定输入 1。

打印:

1
n = int(input("Enter dimensions of matrix :"))
m = n
x = 1
columns = []
for row in range(n):
    inner_column = []
    for col in range(m):
        inner_column.append(x)
        x = x + 1
    columns.append(inner_column)
for inner_column in columns:
    print(' '.join(map(str, inner_column)))

我试过类似的方法,但它打印出的数组不正确。有任何想法吗?

【问题讨论】:

    标签: arrays algorithm logic


    【解决方案1】:

    您的代码在循环中显式执行 x = 1,然后执行 x = x + 1。因为你需要它以相反的顺序,并且有 n*n 数字输出,而不是初始化 x = n * n 并在循环中减少 x = x - 1。这将修复您的代码。

    现在,您可以用更少的代码完成所有这些:

    n = int(input("Enter dimensions of matrix: "))
    for row in range(n * n, 0, -n):
        print(' '.join(map(str, range(row, row - n, -1))))
    

    甚至:

    n = int(input("Enter dimensions of matrix: "))
    print('
    '.join(' '.join(map(str, range(row, row - n, -1)))
                   for row in range(n*n, 0, -n)))
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2021-05-14
      相关资源
      最近更新 更多