给出经过k次逆时针方向旋转后的结果

输入
输入数据的第一行为一个正整数T, 表示测试数据的组数。然后是T组测试数据。每组测试数据的第一行输入两个整数n,k(1<n<20,1<=k<200),接下来输入n行数据,每行包括n个小写英文字母。
输出
对于每组测试,输出字符方阵经过k次逆时针方向旋转后的结果。
输入
2
2 1
ab
ba
2 2
ab
ba
输出
ba
ab
ab
ba

试试:

def rotate(m, n, k):
    if k == 0: return m
    res = []
    for i in range(n):
        a = ''
        if k == 2:
            a = m[n-i-1][::-1]
        else:
            for j in range(n):
                if k == 1:
                    a += m[j][n-i-1]
                else:
                    a += m[n-j-1][i]
        res.append(a)
    return res

T = int(input())
res = []
for i in range(T):
    n, k = map(int, (input().split()))
    m = []
    for j in range(n):
        m.append(input())
    res.append(rotate(m, n, k%4))
for i in res:
    for j in i:
        print(j)