Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例
Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。
パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。
パターン出力の基本
これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。
ここからは、代表的なパターンのコードを実際に実装してみましょう。
三角形(Triangle)の出力
def triangle(n):
k = n - 1
for i in range(1, n + 1):
for j in range(k):
print(' ', end='')
k = k - 1
for p in range(i):
print('*', end=' ')
print()
print('行数を入力してください')
r = int(input())
triangle(r)出力結果
行数を入力してください 5 * * * * * * * * * * * * * * *
このコードでは、変数kで先頭に出力する空白の数を管理しています。行が進むごとにkを1ずつ減らすことで、星が右側に寄った三角形が形成されます。
行数の値を変えて実行すれば、好きな大きさの三角形を出力できます。
数字パターンの出力
def num_pattern(n):
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=' ')
num += 1
print()
print('行数を入力してください')
r = int(input())
num_pattern(r)出力結果
行数を入力してください 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
このパターンでは、変数numを1から順にインクリメントしながら出力します。内側のループはi回繰り返されるため、i行目にはi個の連続した数字が表示され、全体として連番が階段状に並びます。
アルファベットパターンの出力
def alpha_pattern(n):
st = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for i in range(1, n + 1):
for j in range(i):
print(st[j], end=' ')
print()
print('行数を入力してください')
r = int(input())
alpha_pattern(r)出力結果
行数を入力してください 5 A A B A B C A B C D A B C D E
アルファベット「A」から始まる文字列を用意し、各行でその先頭からi文字分を出力しています。これにより、Aから順に増えていくアルファベットの三角形が完成します。
ピラミッド(180度回転)の出力
def pyramid(n):
k = n - 1
for i in range(1, n + 1):
for j in range(k):
print(' ', end='')
for p in range(i):
print('*', end=' ')
k = k - 1
print()
print('行数を入力してください')
r = int(input())
pyramid(r)出力結果
行数を入力してください 5 * * * * * * * * * * * * * * *
この関数は三角形の出力とほぼ同じロジックですが、空白の数を減らすタイミングが異なります。空白と星のバランスを調整することで、見た目の異なるピラミッド形状を作れます。
上記のコードはIDEやターミナルで実際に実行すると、パターンが正しく整形されて表示されます。ぜひ行数を変更しながら、いろいろなパターンの生成を試してみてください。
-
PythonでIndexError例外をキャッチする方法をわかりやすく解説
Pythonでは、リストやタプルなどのシーケンス型の要素に、存在しない範囲のインデックスでアクセスしようとすると、IndexError例外が発生します。この例外はtry〜except文を使うことで適切に捕捉(キャッチ)でき、プログラムが異常終了するのを防ぐことができます。IndexErrorが発生する例以下のコードは、5つの要素しか持たないリストに対して、インデックス6(7番目の要素)にアクセスしようとしているため、IndexErrorが発生します。my_list = [3, 7, 9, 4, 6] print(my_list[6])try〜exceptでIndexErrorをキャッチする方法
-
PythonでIOError例外をキャッチする方法【初心者向けにわかりやすく解説】
IOError例外とは? IOError(入出力エラー)は、入出力操作が失敗したときに発生する例外です。代表的な例としては、存在しないファイルをopen()関数で開こうとした場合や、OSに関連するエラーが発生した場合などが挙げられます。 なお、Python 3ではIOErrorはOSErrorの別名(エイリアス)となっており、どちらの名前で捕捉しても同じ例外を受け取ることができます。 try-exceptブロックで例外を処理する ファイルを開く処理などをtryブロック内に記述すると、入出力例外が発生した際にexceptブロックで適切に処理できます。以下に具体的なコード例を示します。 コード例(