break
ループは、オブジェクトを繰り返し処理したり、コードの一部を何度も実行したりするのにとても便利です。しかし、時にはループを途中で「抜ける」必要がある場合もあります。たとえば、シーケンスの中から最初の負の要素を見つけたいとします。シーケンスの最初の要素から順に進んでいくと、負の要素を見つけた時点でループを終了し、それ以上繰り返すのは無駄なので続けたくないでしょう。これは
break
コマンドを使って実現できます。numbers = [
1, 5, 100, 77,
2, -7, 8, 10,
14, 67, -8, 0,
]
for n in numbers:
print(f'Trying {n}...')
if n < 0:
print(f'Found a negative number: {n}')
break
print('Done!')
このプログラムの出力は次のようになります:
Trying 1...
Trying 5...
Trying 100...
Trying 77...
Trying 2...
Trying -7...
Found a negative number: -7
Done!
プログラムは負の数に達した時点で停止します。
課題
あなたは大量の書類の中からMikeの記録を探しています。書類を一つずつ調べて、それが誰の記録かを確認します。もしMikeの記録を見つけたら、それまでに調べた書類の数を表示したいと考えています。
入力は名前で構成されており、各名前は一行に一つずつ書かれています。
プログラムの出力は
Found Mike's records after looking through X documents
となるべきです。ここで X
はこれまでに調べた書類の数です。入力 | 出力 |
Kate
Bob
Mike
Anna
Steven | Found Mike's records after looking through 3 documents |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB