欺Ran 发表于 2021-11-11 06:33:45

用python

本帖最后由 欺Ran 于 2021-11-12 02:30 编辑

给定一个高程地图<m>的2D表示, 将地图向左旋转90度。
请用for loop 不要修改原始地图。

kogawananari 发表于 2021-11-11 09:03:34

.T

欺Ran 发表于 2021-11-11 09:32:53

kogawananari 发表于 2021-11-11 09:03
.T

{:9_241:}

jackz007 发表于 2021-11-11 10:47:11

本帖最后由 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>

kogawananari 发表于 2021-11-11 12:20:29

欺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([,
      ])
>>>

傻眼貓咪 发表于 2021-11-11 19:25:31

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]
查看完整版本: 用python