本文已参与「新人创作礼」活动,一起开启掘金创作之路。
【问题描述】 输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。
【输入形式】 控制台输入阶数n。
【输出形式】 输出旋转90度后的矩阵,其中每个数字占4位字符的宽度,向右对齐。
【样例输入】 4
【样例输出】 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4
【样例说明】 输入整数n = 4,输出旋转后的矩阵。
实现代码:
n = int(input())
list = []
result = []
def Rotate(arr):
for i in range(len(arr)):
for j in range(i):
arr[i][j], arr[j][i] = arr[j][i], arr[i][j]
for i in range(len(arr)):
for j in range(len(arr) // 2):
temp = arr[i][j]
arr[i][j] = arr[i][n - j - 1]
arr[i][n - j - 1] = temp
a = 0
for i in range(n):
for j in range(n):
list.append(0)
result.append(list)
list = []
for i in range(n):
for j in range(n):
a += 1
result[i][j] = a
Rotate(result)
for i in result:
for j in i:
print("%4d" % j, end="")
print()
运行结果: