始める無料で始める

条件分岐を追加する

offsetを修正するwhileループは良い出発点ですが、offsetが負の場合はどうなるでしょうか?offset-6で初期化する次のコードを実行してみましょう。

# Initialize offset
offset = -6

# Code the while loop
while offset != 0 :
    print("correcting...")
    offset = offset - 1
    print(offset)

しかし、セッションは切断されてしまいます。offsetは実行のたびにさらに減少するため、whileループは止まりません。offset != 0Falseと評価されることはなく、whileループは永遠に続きます。

whileループの中にif-else文を入れて、この問題を修正しましょう。

whileループの実行に時間がかかりすぎる場合や、セッションが期限切れになりそうな場合は、無限ループを作成してしまっている可能性があります。 特に、半角スペース4つまたは自動インデントを使ってループの中身をインデントすること、そしてループが停止するように条件を設定することを忘れないでください。

この演習はコースの一部です

Python中級

コースを見る

演習の手順

  • offset-6に初期化します。
  • whileループの中でif-else文を完成させます。
    • offsetが0より大きい場合は、offsetを1減らします。
    • それ以外の場合は、offsetを1増やします。

コードの実行に時間がかかりすぎる場合、またはセッションが期限切れになりそうな場合は、おそらくどこかに誤りがあります。コードを確認し、文offset != 0が最終的にFALSEと評価されるようにしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize offset
offset = -6

# Code the while loop
while offset != 0 :
    print("correcting...")
    if ____ :
      ____
    else : 
      ____    
    print(offset)
コードを編集して実行