無限ループ
メニューを表示するにはスワイプしてください
無限ループとは、制御条件が決してFalseにならないために終了しないループ。これらのループはプログラムのフリーズやクラッシュの原因となるため、明示的な意図がない限り避ける必要がある。
条件が常にTrueの場合、ループは永遠に実行される。例えば、旅行に関連したシナリオを使って説明する。
# Infinite loop example
while 'Barcelona' in ['Monako', 'Liverpool', 'Barcelona', 'Munchen']:
print('I found Barcelona!')
- 条件式
'Barcelona' in [...]はリスト内に常にTrueが存在するため、常に'Barcelona'となる。これはwhile True:と同じ意味。 - ループは
'I found Barcelona!'を止まることなく繰り返し出力する。
不適切に更新されたループ変数も無限ループを引き起こす可能性があります。例えば:
# Another infinite loop example
i = 0
travel_list = ['Monako', 'Luxemburg', 'Liverpool', 'Barcelona', 'Munchen']
while i < len(travel_list):
print(travel_list[i])
# Missing increment: i += 1
- インデックス
iが増加しないため、条件i < len(travel_list)は常にTrueとなる; - ループは最初の都市(
'Monako')を無限に出力し続ける。
無限ループを回避するためには、ループ条件が最終的にFalseになるように設計する必要があります。つまり、条件は動的であり、ループの実行中に変化しなければなりません。また、カウンターなどの変数を使ってループを制御している場合、その変数がループ内で適切にインクリメントまたは更新されていることを確認し、条件が無限にTrueのままにならないようにしてください。
1. 次のコードの問題点は何ですか?
2. このループが永遠に実行されないようにするには、どのように修正できますか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 2