问题描述
回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。
输入格式
输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。
输出格式
输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。
样例输入
3 3
1 2 3
4 5 6
7 8 9
样例输出
1 4 7 8 9 6 3 2 5
样例输入
3 2
1 2
3 4
5 6
样例输出
1 3 5 6 4 2
这题我一看,二维数组,我熟悉呀(实际上我一点也不熟......)
m,n=map(int,input().split())
a=0
b=0
li = [[0] * n] * m #构建一个m行n列的二维数组,可以这样初始化
for i in range (0,m):for j in range (0,n):li[i][j]=int(input())for i in range (0,m):for j in range (0,n):print(li[i][j],end=" ")print("\n")
但是我发现,在python的范围内,我甚至不会创建一个二维数组,其所有的点都是按照C语言的思路来的。 先来个思路吧,其行走的轨迹,下左上右,利用四个循环实现,单靠行和列的自加or自减变化是没有办法实现回字路线的,应该还有引入变量,实现位置变化。
嘶,想的简单了
蓝桥杯练习——回形取数还需要判断是否在最内圈啊
今天的小目标学会数组的输入就好
m,n = map(int,input().split())
li = [[]*n]*m
for i in range(m):li[i] = [int(j) for j in input().split()]#输入二维数组,同行数字用空格分隔,不同行则用回车换
print(li)#直接输出就可以
Python输入数组(一维数组、二维数组)
上一篇:最新或2023(历届)北京丰台区小升初最新消息相关盘点 2023年北京丰台小升初政策 丰台区2023小升初
下一篇:最新或2023(历届)北京海淀区小升初最新消息相关盘点 2023年海淀区小升初政策 2023年北京海淀小升初划片一览表