PR

Pythonでピラミッドを表示する方法を解説【たったの3行】

アイキャッチ画像
この記事で解決できる悩み
  • Pythonでピラミッドを表示したい

こんな悩みを解決します。

Pythonを使って模様とか図形を表示できると楽しいですよね。そこで、たったの3行でピラミッドを表示してみます。

いのうえ
いのうえ

こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!

この記事では

Pythonでピラミッドを表示する方法

について解説します。

Pythonでピラミッドを表示するための考え方

Pythonでピラミッドを表示する方法を解説する前に、考え方を解説します。

例えば、5段のピラミッドがあるとします。次のようにaとbの部分を考えます。

ピラミッドをaとbに分ける

aの部分は、次のように空白の数が1個ずつ減っています。

ピラミッドのaの部分
段目空白の数
14
23
32
41
50
aの部分

一般化すると、n段のピラミッドのi段目の空白の数は

n – i

と表すことができます。

一方、bの部分は、次のように*の数が2個ずつ増えています。

ピラミッドのbの部分
段目*の数
11
23
35
47
59
bの部分

一般化すると、n段のピラミッドのi段目の*の数は

2i – 1

と表すことができます。

いのうえ
いのうえ

以上を踏まえて、Pythonでピラミッドを表示する方法を解説します。

Pythonでピラミッドを表示する方法

ピラミッドは1段目からn段目まで*を表示するので、for文を使います。

i段目では

半角スペース:n – i個 + *:2i – 1個

を表示します。

よって、Pythonでn段のピラミッドを表示するコードは次のとおりです。

n = int(input('ピラミッドの段数を入力してください。'))
for i in range(1, n+1):
    print(' ' * (n-i) + '*' * (2*i-1))

コマンドラインでPythonファイルを実行します。

% python pyramid.py
ピラミッドの段数を入力してください。

例えば、10と入力して[Enter]を押すと、10段のピラミッドが表示されます。

% python pyramid.py
ピラミッドの段数を入力してください。10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

以上、『Pythonでピラミッドを表示する方法を解説【たったの3行】』でした。