リングの後ろにelseブロック(BETTERWAY 9)for nawhileを使用しない


┑for&whileがelseを使用できる問題


Pythonは、繰り返し実行される内部ブロックをループした後にelse文を追加することができる.
for i n range(3):
    print("Loop", i)
else:
    print("else Block")
->
Loop 0
Loop 1
Loop 2
Else Block
繰り返し文が完了するとelseが実行されます.これはコードを読むときの不自然な表現です.if/else文は、if文の条件が一致しない場合にelse文を実行することを意味する.try/exceptionとは、try中にexceptionが発生したときにexceptionが実行するという意味です.
for文ではelseの実行方式と意味が大きく異なる.Pythonに初めて接触したプログラマーがこれらの文字を見たとき、「ループが正常に完了していない場合は、このブロックを実行する」と仮定できます.しかし、ここで使用するelseブロックはまったく逆です.breakが動作する場合、else文は実行されません.
for i in range(3):
    if i == 2:
        break
    print("Loop", i)
else:
    print("Else block")
->
Loop 0
Loop 1
空のシーケンスにループを実行すると、elseブロックはすぐに実行されます.
for i in []:
    if i == 2:
        break
    print("Loop", i)
else:
    print("Else block")
->
Else block
if/else文とtry/exceptionは意味に従って操作されますが、重複文はそうではありません.
ループの条件がFalseに設定されている場合、ループは実行できませんが、else文はすぐに実行されます.
while False:
    print("실행 안됨")
else:
    print("While Else block")
->
While Else block
これは、ループを使用して検索を実行するためです.たとえば、ある検索で値が真であると判断し、偽のコードと判断した場合、真であるコードを表示したい場合は、真であるコードを表示します.その時にelse文を使えばいいです.
lst = [s for s in range(2,10,2)]


for i in lst:
    if i%2 != 0:
        print("짝수가 아닙니다.")
        break
else:
    print("짝수입니다.")
しかし,このようにコードを記述するよりもアシスタント関数を記述するほうがずっとよい.アシスタント関数を記述する方法は2つあります.

[その他](Other)関数ではなく、[アシスタント](Assistant)関数を作成します。


✍🏻 1つ目の方法-必要な条件を見つけると、関数をすばやく返します。

def check(lst:list)->bool:
    for i in lst:
        if i % 2 != 0:
            return False
    return True

2番目のメソッド-必要なターゲットが見つかった場合、結果変数が返されます。

def check(lst:list)->bool:
    check_var = True
    for i in lst:
        if i % 2 != 0:
            check_var = False
            break
    return check_var
        
2つの方法は,コードを初めて見た人にとってより明確である.
degeelseを使って理解する時間を無駄にする必要はありません.
Pythonでは,ループのような単純なコンポーネント自体が意味を明確にしなければならない.
✍🏻リングの後ろにelseブロックを使用しないでください.