はじめに
この実験では、Python でループが完了したかどうかを判断する方法を学びます。これには、for
ループがどのように実行されるかを理解し、ループの完了を追跡するさまざまな手法を探索することが含まれます。
まず、基本的な for
ループの例を調べ、果物のリストを反復処理してそれぞれを出力します。次に、フラグ変数を使用してループの進行状況を監視する方法を学び、最後に、ループと組み合わせて else
句を活用し、ループが正常に終了した後にのみコードを実行する方法を学びます。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Python でループが完了したかどうかを判断する方法を学びます。これには、for
ループがどのように実行されるかを理解し、ループの完了を追跡するさまざまな手法を探索することが含まれます。
まず、基本的な for
ループの例を調べ、果物のリストを反復処理してそれぞれを出力します。次に、フラグ変数を使用してループの進行状況を監視する方法を学び、最後に、ループと組み合わせて else
句を活用し、ループが正常に終了した後にのみコードを実行する方法を学びます。
このステップでは、Python で for
ループがどのように実行されるかを学びます。ループは、コードブロックを複数回繰り返すことができる基本的なプログラミング構造です。ループの動作原理を理解することは、効率的で有効なプログラムを作成するために重要です。
まずは簡単な例から始めましょう。VS Code エディタを使用して、~/project
ディレクトリに loop_example.py
という名前のファイルを作成します。
## loop_example.py
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
このコードは、果物のリストを反復処理し、各果物をコンソールに出力します。
このスクリプトを実行するには、VS Code のターミナルを開き、次のコマンドを実行します。
python loop_example.py
次のような出力が表示されるはずです。
apple
banana
cherry
コードで何が起こっているかを分解してみましょう。
fruits = ["apple", "banana", "cherry"]
: この行は、"apple"、"banana"、"cherry" という 3 つの文字列が含まれる fruits
という名前のリストを作成します。for fruit in fruits:
: この行は for
ループを開始します。ループは fruits
リストの各要素を反復処理します。各反復で、現在の要素が fruit
変数に割り当てられます。print(fruit)
: この行はループ内にあります。fruit
変数の値をコンソールに出力します。ループは、リスト内の各果物に対して 1 回ずつ、合計 3 回実行されます。最初の反復では、fruit
は "apple" なので、"apple" が出力されます。2 番目の反復では、fruit
は "banana" なので、"banana" が出力されます。3 番目の反復では、fruit
は "cherry" なので、"cherry" が出力されます。
次に、各果物のインデックスを含めるようにスクリプトを変更しましょう。loop_example.py
ファイルを次のように変更します。
## loop_example.py
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
この変更後のコードでは、enumerate()
関数を使用して、リスト内の各要素のインデックスと値の両方を取得しています。
再度スクリプトを実行します。
python loop_example.py
次のような出力が表示されるはずです。
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry
enumerate()
関数は、(インデックス,要素) のペアのシーケンスを返します。各反復で、インデックスは index
変数に割り当てられ、要素は fruit
変数に割り当てられます。
ループの実行方法を理解することは、データのコレクションを処理できるプログラムを作成するために不可欠です。次のステップでは、ループの実行を制御するためのより高度な手法を学びます。
このステップでは、ループ内のタスクの完了を追跡するためにフラグ変数を使用する方法を学びます。フラグ変数は、特定の条件が満たされたかどうかを示すブール型の変数(True
または False
)です。これは、プログラムの流れを制御するための一般的な手法です。
リスト内で特定の数値を検索し、見つけたらすぐにループを停止するシナリオを考えてみましょう。VS Code エディタを使用して、~/project
ディレクトリに flag_example.py
という名前のファイルを作成します。
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
found = False ## フラグ変数を初期化する
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## ループを抜ける
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
このコードでは、found
という名前のフラグ変数を False
に初期化しています。ループは numbers
リストを反復処理します。現在の数値が target
と等しい場合、found
を True
に設定し、メッセージを出力し、break
文を使用してループを抜けます。ループの後、found
の値をチェックします。True
の場合、ターゲットが見つかったことを示すメッセージを出力します。そうでない場合、ターゲットが見つからなかったことを示すメッセージを出力します。
このスクリプトを実行するには、VS Code のターミナルを開き、次のコマンドを実行します。
python flag_example.py
次のような出力が表示されるはずです。
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
Target found in the list.
ターゲットの数値(5)が見つかるとすぐにループが停止することに注意してください。break
文はループを抜け、それ以上の反復を防ぎます。
次に、リスト内に存在しない数値を検索するようにスクリプトを変更しましょう。target
変数を 15 に変更します。
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
found = False ## フラグ変数を初期化する
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## ループを抜ける
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
再度スクリプトを実行します。
python flag_example.py
次のような出力が表示されるはずです。
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.
この場合、ループはターゲットの数値を見つけることなくリスト全体を反復処理します。found
変数は False
のままで、「Target not found in the list.」というメッセージが出力されます。
フラグ変数を使用することは、ループ内のタスクの完了を追跡する簡単で効果的な方法です。この手法は、リスト内の要素を検索する、ユーザー入力を検証する、またはファイルからのデータを処理するなど、さまざまなシナリオで役立ちます。
else
句を使用するこのステップでは、Python の for
ループで else
句を使用する方法を学びます。for
ループの else
句は、ループが正常に完了したとき、つまり break
文によってループが終了されなかったときに実行されます。これは、特定の要素を見つけられなかったり、エラーに遭遇しなかった場合にのみ行うべきアクションを実行するのに便利です。
前のステップでリスト内のターゲット数値を検索した例を見直してみましょう。else
句を使用して、ターゲット数値が見つからなかった場合にメッセージを出力することができます。VS Code エディタを使用して、~/project
ディレクトリに else_example.py
という名前のファイルを作成します。
## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
for number in numbers:
print(f"Checking number: {number}")
if number == target:
print(f"Found the target: {target}")
break
else:
print("Target not found in the list.")
このコードでは、else
句は for
ループに関連付けられています。ループが target
を見つけることなく完了した場合(つまり break
文が実行されなかった場合)、else
句内のコードが実行されます。
このスクリプトを実行するには、VS Code のターミナルを開き、次のコマンドを実行します。
python else_example.py
次のような出力が表示されるはずです。
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.
target
(15)が numbers
リストに含まれていないため、ループは正常に完了し、else
句が実行されて「Target not found in the list.」というメッセージが出力されます。
次に、リストにターゲット数値を含めるようにスクリプトを変更しましょう。target
変数を 5 に変更します。
## else_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
for number in numbers:
print(f"Checking number: {number}")
if number == target:
print(f"Found the target: {target}")
break
else:
print("Target not found in the list.")
再度スクリプトを実行します。
python else_example.py
次のような出力が表示されるはずです。
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
この場合、target
(5)が見つかったときに break
文によってループが終了されます。したがって、else
句は実行されません。
for
ループの else
句は、ループが break
文によって中断されることなく正常に完了したときにコードを実行する簡潔な方法を提供します。これは、ループの実行中に特定の条件が満たされなかった場合にのみ特定のアクションを実行する必要があるケースを処理するのに便利です。
この実験では、Python の for
ループがどのように動作するかを学びました。具体的には、果物のリストを反復処理し、各果物とそのインデックスを出力する方法を学びました。この実験では、for
ループの基本構造を示し、enumerate()
関数を使用して反復処理中にリスト内の各要素のインデックスと値の両方にアクセスする方法を紹介しました。
最初の例では、果物のリストを反復処理し、各果物を出力しました。その後の修正では、enumerate()
を使用してインデックスと果物の両方を出力し、ループ内で要素の位置と値の両方にアクセスする方法を示しました。