打印n×n数字方阵python_2020华为春招amp;#8211;N阶方阵旋转(python) - 易采站长站
import sys
import math
n = int(sys.stdin.readline().strip())
array = []for i in range(n):
# 讀取每一行
line = sys.stdin.readline().strip()
# 把每一行的數字分隔后轉化成int列表
rows = list(map(int,line.split()))
array.append(rows)
def rotation_matrix(array,n):
# 二維數組存在淺復制的問題,需要采用二維列表推導式
arr2 = [([0]*n) for i in range(n)] # math.ceil 向上取整,目的是為了將矩陣的中心位置賦值
for i in range(math.ceil(n/2)):
for j in range(i,n-i):
# 第i列轉到第i行
arr2[i][j] = array[n-1-j][i] # 第i行轉到第n-i列
arr2[j][n-i-1] = array[i][j] # 第n-i列轉到n-i行
arr2[n-i-1][j] = array[n-j-1][n-i-1] # 第n-i行轉到第i列
arr2[j][i] = array[n-i-1][j] return arr2
# 旋轉次數
m = int(sys.stdin.readline().strip())
for i in range(m):
array = rotation_matrix(array,n)
for i in range(n):
for j in range(n):
print(array[i][j],end=' ')
print('')
總結
以上是生活随笔為你收集整理的打印n×n数字方阵python_2020华为春招amp;#8211;N阶方阵旋转(python) - 易采站长站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博世FSA450使用方法
- 下一篇: react中的state详解