Mario (less comfortable)

screenshot of Mario jumping up pyramid

以下のように、指定した高さの片側半分のピラミッドを出力するプログラムを実装します。

$ python mario.py
Height: 4
   #
  ##
 ###
####

始め方

VS Codeを開きます。

ターミナルウィンドウ内をクリックすることから始めて、それからcdを実行します。
その後プロンプトは次のようになっていることがわかります。

$

ターミナルウィンドウの内側をクリックし、次のように入力します。

wget https://cdn.cs50.net/2021/fall/psets/6/sentimental-mario-less.zip

その後にEnterを押すと、sentimental-mario-less.zipというZIPがあなたのCodespaceにダウンロードされます。wgetと次のURLの間にあるスペースや、その他の文字を見落とさないように注意してください。

次に

unzip sentimental-mario-less.zip

を実行して、sentimental-mario-lessというフォルダを作成します。
ZIPファイルは不要になったため、

rm sentimental-mario-less.zip

を実行し、プロンプトで “y “に続いてEnterで応答すると、ダウンロードしたZIPファイルが削除されます。

次に

cd sentimental-mario-less

の後にEnterを押して、そのディレクトリに移動する(つまり、開く)。これでプロンプトは以下のようになります。

sentimental-mario-less/ $

lsを実行するとmario.pyが表示されます。問題が発生した場合は、同じ手順をもう一度実行して、どこが間違っていたかを判断できるかどうかを確認してください。

仕様

  • mario.pyというファイルに、ブロックにハッシュ (#) を使って半ピラミッドを再現するプログラムを書きます。これは問題セット1とまったく同じですが、今回のプログラムはPythonで書かなければなりません。
  • より興味深いものにするには、まず、半ピラミッドの高さを表すget_int (1から8までの正の整数) をユーザに要求します。
  • ユーザが8以下の正の整数を指定しなかった場合は、再度同じプロンプトを表示する必要があります。
  • 次に、目的の半ピラミッドを (printと1つまたは複数のループを使用して) 生成します。
  • 半ピラミッドの左下隅をターミナルウィンドウの左端に揃えます。

使い方

プログラムは次の例のように動作するはずです。

$ 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/less

以下を実行し、style50を使用してコードのスタイルを評価します。

style50 mario.py

提出方法

ターミナルで、以下のコマンドを実行して提出してください。

submit50 cs50/problems/2022/x/sentimental/mario/less