プログラミング初心者向けの練習問題として「アスタリスク(*)を羅列して図形を描画する」というものがあります。
本記事では、アスタリスクで三角形を描画する方法について解説します。
実際にプログラムを作成してみる
早速ですが、実際にプログラムを作成していきます。
プログラム作成の手順
プログラム作成の手順は以下の通りです。
- 描画する三角形の高さheightを入力させる
- n個のアスタリスクと改行コードを表示する
- 2の手順をheightの値と同じ回数繰り返す(nは1ずつ増加)
実装例(スペース無)
上記の手順に従ってプログラムを作成します。使用する言語はPythonです。
if __name__ == '__main__':
print('三角形の高さを指定して下さい:')
height = int(input())
figure = ''
for h in range(height):
for i in range(h+1):
figure += '*'
figure += '\n'
print(figure)
このプログラムを実行すると以下の出力結果が得られます。
三角形の高さを指定して下さい: 5 * ** *** **** *****
実装例(スペース有)
上記の手順に従ってプログラムを作成します。使用する言語はPythonです。
if __name__ == '__main__':
print('三角形の高さを指定して下さい:')
height = int(input())
figure = ''
for h in range(height):
for i in range(height-(h+1)):
figure += ' '
for i in range(h+1):
figure += '*'
figure += '\n'
print(figure)
このプログラムを実行すると以下の出力結果が得られます。
三角形の高さを指定して下さい: 5 * ** *** **** *****
応用:ピラミッド型の三角形を描画
上記では直角三角形を描画するプログラムを紹介しましたが、やり方を工夫すればピラミッド型の三角形、つまり、二等辺三角形を描画することも可能です。
ここでは、その方法について説明します。
プログラム作成の手順
プログラム作成の手順は以下の通りです。
- 描画する三角形の高さheightを入力させる
- heightの値から各列のアスタリスク、スペースの個数を求める
- 2の結果に従ってアスタリスク、スペースを表示する
実装例
上記の手順に従ってプログラムを作成します。使用する言語はPythonです。
if __name__ == '__main__':
print('三角形の高さを指定して下さい:')
height = int(input())
max_width = (height - 1) * 2 + 1;
figure = ''
for h in range(height):
width = h * 2 + 1
space = int((max_width - width) / 2)
for i in range(space):
figure += ' '
for i in range(width):
figure += '*'
figure += '\n'
print(figure)
このプログラムを実行すると以下の出力結果が得られます。
三角形の高さを指定して下さい: 5 * *** ***** ******* *********