whileループ
Pythonには2種類のループがあります - forループとwhileループです。forループがリスト(イテラブル)の要素を一つずつ反復処理するのに対し、whileループはwhile文の条件が満たされている限り、その内部の文を繰り返し実行します。その点で、if文にとても似ています。条件が満たされている場合、whileループ内の文を実行します:
i = 0
while i < 5:
print('Current i is:', i)
i += 1
print('Done')Current i is: 0
Current i is: 1
Current i is: 2
Current i is: 3
Current i is: 4
DoneThe program on the left will print this output
最初に、
iに0が代入されます ⇒i = 0。
次に、プログラムは
i < 5かをチェックし、0 < 5なのでwhileループ内に入りますプログラムは
Current i is: 0を出力します変数
iは1増加してi = 1になります
その後、プログラムは再び条件に戻り、
i < 5かをチェックします。1 < 5なのでwhileループ内に入りますプログラムは
Current i is: 1を出力します変数
iは1増加してi = 2になります
プログラムは
i < 5かをチェックします。2 < 5なのでwhileループ内に入りますプログラムは
Current i is: 2を出力します変数
iは1増加してi = 3になります
プログラムは
i < 5かをチェックします。3 < 5なのでwhileループ内に入りますプログラムは
Current i is: 3を出力します変数
iは1増加してi = 4になります
プログラムは
i < 5かをチェックします。4 < 5なのでwhileループ内に入りますプログラムは
Current i is: 4を出力します変数
iは1増加してi = 5になります
プログラムは
i < 5かをチェックします。5 = 5なので、プログラムはwhileループを抜けてDoneを出力します
挑戦
正の整数nが与えられます。nが0より大きい間、その値を出力し、nを2で割って(整数部分のみを取る)、繰り返してください。
入力 | 出力 |
|---|---|
100 | 100 50 25 12 6 3 1 |
5 | 5 2 1 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB