【Python】for文を使って直角三角形を表示する
基本的な直角三角形の表示
Pythonのfor文を使って、シンプルな直角三角形を表示する方法を紹介します。
n = 5
for i in range(1, n + 1):
print('*' * i)
出力:
* ** *** **** *****
左寄せの直角三角形
上記の三角形は左寄せの直角三角形です。forループを使い、行数に応じて’*’を増やしています。
右寄せの直角三角形
次に、右寄せの直角三角形を表示する方法を見てみましょう。
n = 5
for i in range(1, n + 1):
print(' ' * (n - i) + '*' * i)
出力:
* ** *** **** *****
空白の数を(n – i)個配置し、その後に’*’をi個表示することで右寄せになります。
数字を使った直角三角形
次に、’*’ではなく数字を使って直角三角形を表示してみましょう。
n = 5
for i in range(1, n + 1):
print(str(i) * i)
出力:
1 22 333 4444 55555
アルファベットを使った直角三角形
アルファベットを使う場合も同様の方法を適用できます。
n = 5
for i in range(n):
print(chr(65 + i) * (i + 1))
出力:
A BB CCC DDDD EEEEE
逆向きの直角三角形
逆向きの直角三角形(頂点が上にある形)を作成するには、ループの順序を逆にします。
n = 5
for i in range(n, 0, -1):
print('*' * i)
出力:
***** **** *** ** *
応用的な直角三角形の表示
より高度なパターンを作るには、forループの使い方を工夫できます。
連番を使った直角三角形
n = 5
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=' ')
num += 1
print()
出力:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
二重ループで三角形を作る
外側のループで行を、内側のループで列を処理することで、さまざまなパターンの直角三角形を作成できます。
中央寄せの直角三角形
中央寄せの形を作るには、空白の数を調整します。
n = 5
for i in range(1, n + 1):
print(' ' * (n - i) + '* ' * i)
出力:
* * * * * * * * * * * * * * *
このように、for文を活用することで、さまざまな形の直角三角形を作ることができます。