入力を読み取る
while
ループは、常に成立する条件を持つことがあります。そのようなプログラムは無限ループとなり、終わることなく実行され続けます。そのタイプのプログラムの良い例は while True
です:
while True:
print('Welcome to an infinite loop!')
このプログラムは永遠に実行され、ユーザーが停止するまで Welcome to an infinite loop!
と表示し続けます。
while
ループは、ある条件が満たされるまでデータを読み取るために使用できます。例えば、入力が 0
でない間、入力からデータを読み取ることができます。ユーザーが 0
を入力してエンターキーを押すと、whileループは終了します。これは次のように実装できます:
num = -1
while num != 0:
num = int(input())
print(f'The user entered: {num}')
print('End!')
このプログラムは、ユーザーが0を入力しない限り入力を読み取り続け、ユーザーが0を入力するとループを抜けて End!
と表示します。
事前に num
を読み取ってからループを開始することもできます:
num = int(input())
while num != 0:
print(f'The user entered: {num}')
num = int(input())
print('End!')
この方法では、プログラムは最後の 0
を表示しません。なぜなら、その前にループを抜けるからです。
これら二つの方法を自分で試して、その違いを確かめてみてください。
チャレンジ
End
という単語が出てくるまで入力を読み取り、入力されたテキストを出力するプログラムを書いてください。プログラムは End
という単語に達したらすぐに停止するべきです。入力の最後の End
は出力しないようにしてください。
入力 | 出力 |
---|---|
hello my name End | hello my name |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB