入力を読み取る

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

To check your solution you need to sign in
Sign in to continue