イテレータを使用して螺旋行列を出力するための Python のアイデアとコード例

WBOY
リリース: 2016-07-22 08:56:35
オリジナル
1528 人が閲覧しました

感想

スパイラル行列とは、最初の行から右に向かって数字が大きくなり、下に行くほど数字が大きくなる行列のことです。 左に行くほど大きくなり、上に行くほど大きくなります。
螺旋行列は、座標(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 の単語はコードに値するものです。

リーリー

201672115457986.jpg (282×289)

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!