用python
本帖最后由 欺Ran 于 2021-11-12 02:30 编辑给定一个高程地图<m>的2D表示, 将地图向左旋转90度。
请用for loop 不要修改原始地图。 .T kogawananari 发表于 2021-11-11 09:03
.T
{:9_241:} 本帖最后由 jackz007 于 2021-11-11 13:27 编辑
def lrotate(d):
e = [[]for _ in d]
for i in range(len(d)):
for j in range(len(d)):
e . append(d)
return e
def rrotate(d):
e = [[]for _ in d]
for i in range(len(d)):
for j in range(len(d)):
e . insert(0 , d)
return e
d = [ , , ]
print(lrotate(d))
print(rrotate(d))
运行实况:
D:\00.Excise\Python>python x.py
[, , ]
[, , ]
D:\00.Excise\Python> 欺Ran 发表于 2021-11-11 09:32
搞错了 .T是转置 rot90函数是旋转90°
>>> import numpy as np
>>> a = np.mat([,])
>>> a
matrix([,
])
>>> a.T
matrix([,
])
>>> np.rot90(a, 1)
matrix([,
])
>>> np.rot90(a, -1)
matrix([,
])
>>> def rotate(matrix) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
N = len(matrix)
# 水平翻转
for i in range(N>>1):
for j in range(N):
temp = matrix
matrix = matrix
matrix = temp
# 主对角线翻转
for i in range(N):
for j in range(N):
if i == j:
break
else:
temp = matrix
matrix = matrix
matrix = temp
页:
[1]