everyday-study

Python:基本構文(3)

  • 基本構文(1):for
  • 基本構文(2):if,if-else,if-elif-else
  • 基本構文(3):while

3.while

構文:


while 条件式:

  条件式がTrueの間、処理される内容


条件式がTrueの間、処理が繰り返されるため必ず条件式内にある変数を増減させる処理が必要

そうでなければ永久ループに陥ってしまう

x+=1のインデントを一つ下げたので、whileループ内ではxを増加させることなく毎回print(x)を処理しているので永久ループに陥った
エラー文の3行目でどの部分のコードで止めたか分かる

永久ループから抜け出すためには、

  • IDLEのプログラム実行画面で「Ctrl+C」
  • ソースコード編集ファイルで「Shell」→「Interrupt Execution」

・処理の実行途中でループを抜ける→break

構文:


while 条件式:

  条件式がTrueの間、処理される内容

  break


・ループをスキップする→continue

構文:


while 条件式:

  条件式がTrueの間、処理される内容

  continue


continueを用いる場合は、continueより前にループ変数の処理を行うコードを書かなければ一度continue処理が入ると、永久ループに陥ってしまう

上の例ではcontinueより上にx+=1が書かれていないので、if文がTrueの条件式になってしまったらprint(x)を実行→continue→ループの先頭に戻る→if文→print(x)→・・・となる

・whileの終了時に実行される処理→else

構文:


while 条件式:

  条件式がTrueの間、処理される内容

else:

  条件式が当てはまらなくなった場合の処理


x=5の時、whileの条件式がFalseになったので、else以下が実行された