Python将二维数组进行顺时针旋转90度、180度、270度

本文将使用Python实现二维数组顺时针旋转,包括旋转90度、180度、270度;

需求描述

将一个二维数组,旋转90度、180度、270度;变换如下:

1 0 1     0 1 1     0 0 0     1 1 0
1 0 1     0 0 0     1 0 1     0 0 0
0 0 0     0 1 1     1 0 1     1 1 0

实现代码

该代码实现将二维数组进行顺时针旋转90度、180度、270度,并显示;

def rotate_90d(matrix):
    return list(zip(* matrix[::-1]))

def print2darray(arr,m,n):
    for i in range(m):
        for j in range(n):
            print(arr[i][j],end=' ')
        print()

if __name__ == '__main__':
    
    arr = [
        [1,0,1],
        [1,0,1],
        [0,0,0]
    ]

    print2darray(arr,3,3)

    arr_90d = rotate_90d(arr)
    print("顺时针旋转90度")
    print2darray(arr_90d,3,3)

    arr_180d = rotate_90d(arr_90d)
    print("顺时针旋转180度")
    print2darray(arr_180d,3,3)

    arr_270d = rotate_90d(arr_180d)
    print("顺时针旋转270度")
    print2darray(arr_270d,3,3)

程序运行效果

1 0 1
1 0 1
0 0 0
顺时针旋转90度
0 1 1
0 0 0
0 1 1
顺时针旋转180度
0 0 0
1 0 1
1 0 1
顺时针旋转270度
1 1 0
0 0 0
1 1 0

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/python-rotates-the-2darray-90degress.html

分类: 计算机技术
推荐阅读:
Rust中的变量、常量和可变性 Rust默认情况下变量是不可变的;注意这里不可变的变量并不是常量,有编程经验的朋友可能会觉得一头雾水,让我们继续往下看;
Requests详细教程 Requests 是一个功能强大、优雅而简单的 Python HTTP库;使用Requests发送网络请求整个过程将变得非常简单。
MySQL ABS() 绝对值函数 ABS(x) 函数返回x的绝对值,如果x为NULL则返回NULL;
Python实现猜拳小游戏 曾经给一个小屁孩做的作业,放出来分享。。。实现思路: 定义一个玩家类;实现获取用户的输入。 定义一个机器人类;实现机器人的输入。 定义一个裁判类;裁判判断双方胜负。 定义游戏桌面;实现游戏的启动和管理。
如何解压和压缩 .tar.gz 文件 .tar.gz 为后缀的文件是一种在Linux和macOS下常见的压缩文件,可直接使用tar命令进行解压或压缩;
C语言中 i++ 和 ++i 的区别 在C语言中,++ 运算符也叫递增运算符,只需要一个操作数,属于一元运算符;本文将讨论前缀++运算符和后缀++运算符的区别,以及符号优先级的问题;