Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 無限ループ | Whileループ
/
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

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

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

すべて明確でしたか?

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

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

セクション 2.  2

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 2.  2
some-alt