アルファベットを使用してランゴーリーパターンを印刷するPythonプログラム
数nがあるとします。 nxnサイズのアルファベットランゴーリーを作成する必要があります。 nは1から26の範囲内である必要があり、nが26の場合、aから始まり、zで終わります。
したがって、入力が5のような場合、出力は
になります。--------e-------- ------e-d-e------ ----e-d-c-d-e---- --e-d-c-b-c-d-e-- e-d-c-b-a-b-c-d-e --e-d-c-b-c-d-e-- ----e-d-c-d-e---- ------e-d-e------ --------e--------
これを解決するには、次の手順に従います-
- n-1から0の範囲のiの場合、1ずつ減らします。
- 0からi-1の範囲のjについては、
- 「-」を印刷
- n-1〜i + 1の範囲のjの場合、1ずつ減らします。
- ASCIIがj+97の文字を印刷し、最後に余分な「-」を印刷します
- iからn-1の範囲のjについては、
- jがn-1と同じでない場合、
- ASCIIがj+97の文字を印刷し、最後に余分な「-」を印刷します
- それ以外の場合、
- ASCIIがj+97の文字を印刷する
- jがn-1と同じでない場合、
- 0〜2 * i-1の範囲のjの場合、do
- 最後に「-」を印刷
- 次の行に進む
- 0からi-1の範囲のjについては、
- 1からn-1の範囲のiの場合、do
- 0からiの範囲のjについては、
- 「-」を印刷
- n-1〜i + 1の範囲のjの場合、1ずつ減らします。
- ASCIIがj+97の文字を印刷し、最後に余分な「-」を印刷します
- iからn-1の範囲のjについては、
- jがn-1と同じでない場合、
- ASCIIがj+97の文字を印刷し、最後に余分な「-」を印刷します
- それ以外の場合、
- ASCIIがj+97の文字を印刷する
- jがn-1と同じでない場合、
- 0〜2 * i-1の範囲のjの場合、do
- 最後に「-」を印刷
- 次の行に移動
- 0からiの範囲のjについては、
例
理解を深めるために、次の実装を見てみましょう
def solve(n): for i in range(n-1,-1,-1): for j in range(i): print(end="--") for j in range(n-1,i,-1): print(chr(j+97),end="-") for j in range(i,n): if j != n-1: print(chr(j+97),end="-") else: print(chr(j+97),end="") for j in range(2*i): print(end="-") print() for i in range(1,n): for j in range(i): print(end="--") for j in range(n-1,i,-1): print(chr(j+97),end="-") for j in range(i,n): if j != n-1: print(chr(j+97),end="-") else: print(chr(j+97),end="") for j in range(2*i): print(end="-") print() n = 8 solve(n)
入力
8
出力
--------------h-------------- ------------h-g-h------------ ----------h-g-f-g-h---------- --------h-g-f-e-f-g-h-------- ------h-g-f-e-d-e-f-g-h------ ----h-g-f-e-d-c-d-e-f-g-h---- --h-g-f-e-d-c-b-c-d-e-f-g-h-- h-g-f-e-d-c-b-a-b-c-d-e-f-g-h --h-g-f-e-d-c-b-c-d-e-f-g-h-- ----h-g-f-e-d-c-d-e-f-g-h---- ------h-g-f-e-d-e-f-g-h------ --------h-g-f-e-f-g-h-------- ----------h-g-f-g-h---------- ------------h-g-h------------ --------------h--------------
-
Pythonでパターンを印刷する方法は?
Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが
-
Pythonプログラムでループを使用せずに数値シリーズを印刷する
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 2つの数NとKが与えられた場合、問題は、数(N)がゼロ(0)より大きくなるまでNから数Kを引くことです。次に、Nが負またはゼロになると、その数が元になるまでKを加算し始めます。番号(N)。 例 N = 10 K = 4 出力 10 6 2 -2 2 6 10 アルゴリズム Nがゼロより大きくなるまで関数を何度も呼び出します(すべての関数呼び出しで、NからKを減算します)。 数値が負またはゼロになると、数値が元の数値になるまで、各関数呼び出しでKを追加し始めます。 ここでは、加算と減算