【问题标题】: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)))