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
Done
The 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