入力を読み取る
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