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
- 最初に、
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