# -*- coding:utf-8 -*-
import sys


class Transform:
    def transformImage(self,matrix,n):
        if matrix is None or len(matrix) == 0:
            return matrix

        n = len(matrix)

        # 转置矩阵(行列互换)
        for i in range(n):
            for j in range(i+1,n):
                matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]

        # 翻转每一行
        for i in range(n):
           matrix[i].reverse()
           #matrix[i] = matrix[i][::-1]

        return matrix

def main():
    # 创建一个 N * N 阶矩阵 3*3
    n = 3
    matrix = [[i * n + 1 + j  for j in range(n) ] for i in range(n)]

    # 创建对象实例
    transform = Transform()

    # 调用方法获取翻转矩阵
    transform_matrix = transform.transformImage(matrix,n)

    # 打印翻转后的矩阵元素
    # for row in transform_matrix:
    #     for data in row:
    #         # print(f"{data}\t", end='')  # print("%d\t" %data) python2传统打印
    #         print("%d\t" % data, end= '')
    #     print()

    for row in transform_matrix:
        for data in row:
            sys.stdout.write("%d\t" % data)  # 写入不换行
        sys.stdout.write("\n")  # 换行


if __name__ == "__main__":
    main()