Pythonで 逆ピラミッド の作り方

プログラミング

逆ピラミッドとは?

↑の画像のように、指定した段数

奇数個の段を重ねていくピラミッドです。


逆ピラミッドの作り方

ソースコードは次のようになります。


N=int(input("逆ピラミッドの段数は?:"))
for i in range(N):
    print(" "*i+"*"*(2*(N-i)-1))

プログラム解説

まず、Nに段数の値を入力し値が格納されます。

iは 0 からはじまり N-1 まで順に数をならべてくれます。


例えば)Nに3を格納した場合。

iは0から2までの数になります。

for文があるので、1回目のループでは i に0が格納された状態でprint文を迎えます。

その時、「” ”*0」 なので空白は表示されません。「”*”*(2*(3-0)-1)」なので”*”は5コ表示。


2回目のループでは、i に1が格納された状態なので、

print文では、「” ”*1」なので、” ”が1コ、「”*”*(2*(3-1)-1)」なので”*”は3コ表示されます。


3回目のループでは、i に2が格納された状態なので、

print文では、「” ”*2」なので、” ”が2コ、「”*”*(2*(3-2)-1)」なので”*”は1コ表示されます。


他にも、いろいろなやり方があります。

無駄に難しく考えたプログラムを作ってみると、面白いかもしれません。

for i in range(N):
    for j in range(i):
        print(" ",end="")
    for k in range(N-i):
        print("*",end="")
    for m in range(N-1-i):
        print("*",end="")
    print()

コメント

タイトルとURLをコピーしました