中級者向け:
※以下の内容は、中級コースが修了済みのユーザーが対象となります。
※以下の内容は、中級コースが修了済みのユーザーが対象となります。
実際に具体例を見てみましょう。
以下は無限ループのコードになります。indexが0のまま変化しないため、while文の述語
index < length
が常にtrueを返すため、無限ループに陥ります。
def addEveryOtherElement(intArr):
    length = len(intArr)
    index = 0
    total = 0
    while index < length:
        if index % 2 == 0:
            total += intArr[index]
        # index += 1
    
    return total
無限ループに陥ったときは、以下のように適切な箇所でループ処理を止めてデバッグすると原因を早く特定できます。
def addEveryOtherElement(intArr):
    length = len(intArr)
    index = 0
    total = 0
    # カウントする変数を追加
    cnt = 0
    while index < length:
        if index % 2 == 0: 
            total += intArr[index] 
            
        # index += 1
        
        # カウントを1ずつ増加させる
        cnt += 1
        
        # 意図的にbreakを使ってエスケープ
        if cnt < 20:
            print(index)
            break
    
    return total
特に連結リストやwhileループや再帰系の処理を行う時に陥りやすいので注意しましょう。