ホームページ >バックエンド開発 >Python チュートリアル >イテレータを使用して螺旋行列を出力するための Python のアイデアとコード例
感想
スパイラル行列とは、最初の行から右に向かって数字が大きくなり、下に行くほど数字が大きくなる行列のことです。
左に行くほど大きくなり、上に行くほど大きくなります。
螺旋行列は、座標(x,y)、つまり(x軸座標,y軸座標)の2次元配列で表現されます。
時計回りの螺旋の方向は、->右、下、左、上です。数値式は、x プラス 1 グリッド (1,0)、y プラス 1 グリッド (0,1)、x マイナス 1 グリッド (-1) です。 、0)、y から 1 グリッドを引いた値 (0,-1)。
座標は (0,0) から歩き始め、範囲外になったり障害物に遭遇したりすると方向が切り替わります。
スパイラル行列を印刷するには、まず n*n 配列に値を割り当てる必要があります。ルールによれば、各レイヤーは右→下→左→の順に増加することがわかります。したがって、各層の最初の値が求まる限り、最初の値は前の層の最初の番号 + 4*n-4 になります。n はループするたびに 2 ずつ減少します。
コード
上記の分析の後、アイデアは非常に明確であり、1000 の単語はコードに値するものです。