問題の説明
文字を使用して、いくつかの美しいグラフィックを形成できます。例を以下に示します。
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
これは5行7列のグラフです。このグラフのパターンを調べて、n行m列のグラフを出力してください。
入力フォーマット
出力するグラフィックの行数と列数をそれぞれ表す2つの整数nとmを含む行を入力します。
出力フォーマット
グラフィック用に、各m文字のn行を出力します。
解決
座標(x、x)の文字がすべてAであり、左右に伸びていることを確認するのは難しくありません。しかし、この質問には多くのアイデアがあり、Aに基づいて、または最初の行に基づいて、または最初の列に基づいて拡張できます。この質問によって出力されるグラフの特定のルールを見つければ、このルールに従ってコードを書くことができますが、まだ多くのアイデアがあります。
以下のコードのアイデアは、次の行を前の行と比較し、テールを削除してヘッドを追加することです。したがって、コードを書くときは、最初の行を使用して次の行の最初の行[:-1]を取り出し、その前に文字を追加します。ABCDの順序で、最初の行に番号を追加します。
質問コード
| # n行m列を入力n、m = map(int、input()。split())st = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#必要なセクションをインターセプトst1 = st [:m] for i in range(1、n + 1) :print(st1)st1 = st [i] + st1 [0:-1] |
|---|
Recommended Posts