Python螺旋矩阵的生成

一.问题描述

像如图所示的矩阵称为外螺旋矩阵,请问在30行×30列的螺旋矩阵中,第20行第20列的数字是多少?

1	2	3	4	
 
12	13	14	5	
 
11	16	15	6	
 
10	9	8	7	

二.思路分析

首先螺旋矩阵是按照从左到右,从上到下,从右到左,从下到上的方式进行生成的,可以设置了两个循环,一个代表行列数的变化,另一个则代表在同一行(列),列(行)的变化;通过循环逐步生成矩阵,最后查找指定位置即。

三.代码实现 

n=int(input())
a= [[0]*n for i in range(n)]      #生成n×n的二维数组
b=1                               #第一个数字为1
left,right,up,down=0,n-1,0,n-1    #初始化,第一行,最底行,第一列,最后一列
while left < right and up 

 以10×10矩阵为例,可以发现正确

1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19

四.结语

作为小白一枚,记录自己的成长,分享出来,欢迎大佬指正。

你可能感兴趣的:(蓝桥杯,python)