【Python】for文を使って直角三角形を表示する

【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文を活用することで、さまざまな形の直角三角形を作ることができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です