中断する前にフラグを設定する
このステップでは、ループ内で break
文が実行されたかどうかを示すためにフラグ変数を使用する方法を学びます。ループが完全に完了したか、途中で中断されたかを知る必要がある場合に便利です。
VS Code エディタを使用して、~/project
ディレクトリに flag_example.py
という名前の Python ファイルを作成しましょう。
## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
found = False ## Initialize a flag variable
for number in numbers:
if number > 5:
found = True ## Set the flag to True when number is greater than 5
break ## Exit the loop
print(number)
if found:
print("Found a number greater than 5")
else:
print("No number greater than 5 was found")
このコードでは:
- ブール型の変数
found
を False
に初期化します。この変数がフラグとして機能します。
- 数字のリストを反復処理します。
- 5 より大きい数字を見つけた場合、
found
を True
に設定し、その後ループを抜けます。
- ループの後、
found
の値をチェックします。True
であれば、5 より大きい数字に遭遇してループを抜けたことを意味します。そうでなければ、ループは 5 より大きい数字を見つけずに完了したことを意味します。
次に、ターミナルで以下のコマンドを使用してスクリプトを実行しましょう:
python flag_example.py
以下の出力が表示されるはずです:
1
2
3
4
5
Found a number greater than 5
次に、numbers
リストを変更して、5 より大きい数字を含まないようにしましょう:
## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5]
found = False ## Initialize a flag variable
for number in numbers:
if number > 5:
found = True ## Set the flag to True when number is greater than 5
break ## Exit the loop
print(number)
if found:
print("Found a number greater than 5")
else:
print("No number greater than 5 was found")
再度スクリプトを実行します:
python flag_example.py
以下の出力が表示されるはずです:
1
2
3
4
5
No number greater than 5 was found
この例は、フラグ変数を使用して break
文が実行されたかどうかを追跡し、ループが完全に完了したか途中で中断されたかに基づいて異なるアクションを実行できることを示しています。