入力を読み取る
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 | hello |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB