リングの後ろにelseブロック(BETTERWAY 9)for nawhileを使用しない
8390 ワード
┑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ブロックを使用しないでください.
Reference
この問題について(リングの後ろにelseブロック(BETTERWAY 9)for nawhileを使用しない), 我々は、より多くの情報をここで見つけました
https://velog.io/@ssdii44/BETTER-WAY-9-for나-while-루프-뒤에-else-블록을-사용하지-말라
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
for i n range(3):
print("Loop", i)
else:
print("else Block")
->
Loop 0
Loop 1
Loop 2
Else Block
for i in range(3):
if i == 2:
break
print("Loop", i)
else:
print("Else block")
->
Loop 0
Loop 1
for i in []:
if i == 2:
break
print("Loop", i)
else:
print("Else block")
->
Else block
while False:
print("실행 안됨")
else:
print("While Else block")
->
While Else block
lst = [s for s in range(2,10,2)]
for i in lst:
if i%2 != 0:
print("짝수가 아닙니다.")
break
else:
print("짝수입니다.")
✍🏻 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ブロックを使用しないでください.
Reference
この問題について(リングの後ろにelseブロック(BETTERWAY 9)for nawhileを使用しない), 我々は、より多くの情報をここで見つけました https://velog.io/@ssdii44/BETTER-WAY-9-for나-while-루프-뒤에-else-블록을-사용하지-말라テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol