Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 無限ループ | セクション
Pythonのループ

book無限ループ

メニューを表示するにはスワイプしてください

無限ループとは、制御条件が決して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. このループが永遠に実行されないようにするには、どのように修正すればよいですか?

question mark

次のコードの問題点は何ですか?

すべての正しい答えを選択

question mark

このループが永遠に実行されないようにするには、どのように修正すればよいですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  8

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  8
some-alt