逆ピラミッドとは?

↑の画像のように、指定した段数
奇数個の段を重ねていくピラミッドです。
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()



コメント