[题目描述]
输入一个 n 行 m 列的黑白图像,将它顺时针旋转 9090 度后输出。
输入:
第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在 0∼255 之间。
输出:
m 行,每行 n 个整数,为顺时针旋转 90 度后的图像。相邻两个整数之间用单个空格隔开。
样例输入1
3 3
1 2 3
4 5 6
7 8 9
样例输出1
7 4 1
8 5 2
9 6 3
来源/分类(难度系数:一星)
完整代码展示:
a,b=map(int,input().split())
c=[]
for i in range(a):
d=list(map(int,input().split()))
c.append(d)
e=0
while e<b:
sum=''
for j in range(a-1,-1,-1):
sum+="{} ".format(c[j][e])
print(sum)
e+=1
代码解释:
“a,b=map(int,input().split())
c=[] ”,让用户输入矩阵的行数a和列数b。建立一个空列表c。
“for i in range(a):
d=list(map(int,input().split()))
c.append(d) ”,让用户输入矩阵每一行的元素,并将其储存在列表d中,接着将列表d添加进列表c中,形成列表嵌套结构。
“e=0
while e<b:
sum=''
for j in range(a-1,-1,-1):
sum+="{} ".format(c[j][e])
print(sum)
e+=1 ”,设置循环密码子为e,当e<b时,将一列倒数第一个元素(c[a-1][e])至第一个元素(c[0][e])依次连接,中间插入一个空格。每循环一次,就令e加1,直至e=b(遍历完所有列),跳出整个while循环。
运行效果展示:
(声明:以上内容均为原创)