以下のように、指定した高さの2つの片側半分のピラミッドを出力するプログラムを実装します。
$ ./mario
Height: 4
# #
## ##
### ###
#### ####
仕様
- これらの半ピラミッドをブロックのハッシュ (
#
) を使って作成するプログラムを、~/pset6/mario/more/
のmario.py
というファイルに書きます。これは問題セット1で行ったのと全く同じですが、今回のプログラムはPythonで書かなければなりません。 - より興味深いものにするには、まず、半ピラミッドの高さを表す
get_int
(1から8までの正の整数) をユーザに要求します (上の図に示した半ピラミッドの高さはちょうど4
で、各半ピラミッドの幅は4
で、2
だけ離れています) 。 - ユーザーが
8
以下の正の整数を指定しなかった場合は、再度同じプロンプトを表示する必要があります。 - 次に、目的の半ピラミッドを (
print
と1つまたは複数のループを使用して) 生成します。ピラミッドの左下隅をターミナルウィンドウの左端に揃え、2つのピラミッドの間に2つのスペースがあり、各行の最後のハッシュの後に追加のスペースがないことを確認してください。
使い方
プログラムは次の例のように動作するはずです。
$ ./mario
Height: 4
# #
## ##
### ###
#### ####
テスト
この問題についてはcheck50
を使用できますが、次の各項目については、最初に自分でコードをテストすることをお勧めします。
- プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。-1
と入力し、Enterキーを押します。ユーザに別の数字を入力するように再度促すなどして、この入力を無効として拒否する必要があります。 - プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。0
と入力し、Enterキーを押します。ユーザに別の数字を入力するように再度促すなどして、この入力を無効として拒否する必要があります。 - プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。1
と入力し、Enterキーを押します。プログラムによって次の出力が生成されます。ピラミッドがターミナルの左下端に位置合わせされ、各行の末尾に余分なスペースがないことを確認します。
# #
- プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。2
と入力し、Enterキーを押します。プログラムによって次の出力が生成されます。ピラミッドがターミナルの左下端に位置合わせされ、各行の末尾に余分なスペースがないことを確認します。
# #
## ##
- プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。8
と入力し、Enterキーを押します。プログラムによって次の出力が生成されます。ピラミッドがターミナルの左下端に位置合わせされ、各行の末尾に余分なスペースがないことを確認します。
# #
## ##
### ###
#### ####
##### #####
###### ######
####### #######
######## ########
- プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。9
と入力し、Enterキーを押します。ユーザに別の数字を入力するように再度促すなどして、この入力を無効として拒否する必要があります。次に、2
と入力してEnterキーを押します。プログラムによっ次の出力が生成されます。ピラミッドがターミナルの左下端に位置合わせされ、各行の末尾に余分なスペースがないことを確認します。
# #
## ##
- プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。foo
と入力し、Enterキーを押します。ユーザに別の数字を入力するように再度促すなどして、この入力を無効として拒否する必要があります。 - プログラムを
python mario.py
として実行し、入力を求めるプロンプトが表示されるのを待ちます。何も入力せずに、Enterキーを押します。ユーザに別の数字を入力するように再度促すなどして、この入力を無効として拒否する必要があります。
check50
を使用して以下を実行し、コードの正確さを評価してください。ただし、コンパイルとテストは必ず自分で行ってください。
check50 cs50/problems/2021/x/sentimental/mario/more
以下を実行し、style50
を使用してコードのスタイルを評価します。
style50 mario.py
この問題は、正確さとスタイルの評価に沿ってのみ採点されます。
提出方法
次のコマンドを実行し、GitHubのユーザー名とパスワードを入力してログインします。セキュリティのため、パスワードには実際の文字ではなくアスタリスク (*
) が表示されます。
submit50 cs50/problems/2021/x/sentimental/mario/more