以下のように、指定した高さの2つの片側半分のピラミッドを出力するプログラムを実装します。
$ python mario.py
Height: 4
# #
## ##
### ###
#### ####
始め方
VS Codeを開きます。
ターミナルウィンドウ内をクリックすることから始めて、それからcd
を実行します。
その後プロンプトは次のようになっていることがわかります。
$
ターミナルウィンドウの内側をクリックし、次のように入力します。
wget https://cdn.cs50.net/2021/fall/psets/6/sentimental-mario-more.zip
その後にEnterを押すと、sentimental-mario-more.zipというZIPがあなたのCodespaceにダウンロードされます。wgetと次のURLの間にあるスペースや、その他の文字を見落とさないように注意してください。
次に
unzip sentimental-mario-more.zip
を実行して、sentimental-mario-moreというフォルダを作成します。
ZIPファイルは不要になったため、
rm sentimental-mario-more.zip
を実行し、プロンプトで “y “に続いてEnterで応答すると、ダウンロードしたZIPファイルが削除されます。
次に
cd sentimental-mario-more
の後にEnterを押して、そのディレクトリに移動する(つまり、開く)。これでプロンプトは以下のようになります。
sentimental-mario-more/ $
ls
を実行するとmario.py
が表示されます。問題が発生した場合は、同じ手順をもう一度実行して、どこが間違っていたかを判断できるかどうかを確認してください。
仕様
- これらの半ピラミッドをブロックのハッシュ (
#
) を使って作成するプログラムを、mario.py
というファイルに書きます。これは問題セット1で行ったのと全く同じですが、今回のプログラムはPythonで書かなければなりません。 - より興味深いものにするには、まず、半ピラミッドの高さを表す
get_int
(1から8までの正の整数) をユーザに要求します (上の図に示した半ピラミッドの高さはちょうど4
で、各半ピラミッドの幅は4
で、2
だけ離れています) 。 - ユーザーが
8
以下の正の整数を指定しなかった場合は、再度同じプロンプトを表示する必要があります。 - 次に、目的の半ピラミッドを (
print
と1つまたは複数のループを使用して) 生成します。ピラミッドの左下隅をターミナルウィンドウの左端に揃え、2つのピラミッドの間に2つのスペースがあり、各行の最後のハッシュの後に追加のスペースがないことを確認してください。
使い方
プログラムは次の例のように動作するはずです。
$ python mario.py
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/2022/x/sentimental/mario/more
以下を実行し、style50
を使用してコードのスタイルを評価します。
style50 mario.py
提出方法
ターミナルで、以下のコマンドを実行して提出してください。
submit50 cs50/problems/2022/x/sentimental/mario/more