ループとelseの組み合わせトラップ

7959 ワード

文書ディレクトリ
  • 循環体とelse
  • 1. forはelseと組み合わせてbreakジャンプループ
  • を使用する
  • 2. forループ下ifとelseの組み合わせ
  • 3. forとelseを組み合わせてcontinue
  • に合わせます
  • 4. whileも同じ
  • 循環体とelse
    ループ・プロシージャは正常に実行され、breakによってelseの次の文が実行されません.
    1.forはelseと組み合わせてbreakを使ってループを飛び出します
    list = range(100)
    for x in list:
        if x % 20 == 19:
            print(x)
            break
    else:
        print("else")
    
    19
    

    ここで数字を見つけて、breakはループを飛び出して、elseは実行しません.通常、ループ+elseの組み合わせは、ループに失敗した後に行う処理を処理するために使用されます.
    2.forサイクルでifとelseを組み合わせる
    list = range(100)
    for x in list:
        if x % 20 == 19:
            print(x)
            break
        else:
            print("else")
    
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    else
    19
    

    ここでelseはifと組み合わせるので、条件を満たさないときはelseを印刷し続けます
    3.forとelseを組み合わせ、continueに合わせる
    list = range(100)
    for x in list:
        if x % 20 == 19:
            continue
            print(x)
    else:
        print("else")
    
    else
    

    breakのみがelseを実行することができ、ループプロセスが正常に実行する、breakによってelseの下の文が実行されない場合がある.
    while-elseも似ています.
    count = 0
    while count < 5:
       print(count, " is  less than 5")
       count = count + 1
       if count == 4:
           break
    else:
       print(count, " is not less than 5")
    
    0  is  less than 5
    1  is  less than 5
    2  is  less than 5
    3  is  less than 5
    

    ここでbreakが飛び出したらelse文は実行されません
    count = 0
    while count < 5:
       print(count, " is  less than 5")
       count = count + 1
    else:
       print(count, " is not less than 5")
    
    0  is  less than 5
    1  is  less than 5
    2  is  less than 5
    3  is  less than 5
    4  is  less than 5
    5  is not less than 5
    

    ここはまだ飛び出していないのに実行されます.通常、ループ+elseの組み合わせは、ループに失敗した後に行う処理を処理するために使用されます.
    4.whileも同じ
    count = 0
    while count < 10:
        if (count // 15 !=0) and (count % 15 ==0):
            print("  15   ")
            break
        count += 1
    else:
        print("  15   ")
            
    
      15