Pythonが多重サイクルから飛び出す方法の例
方法1:カスタム異常
(1)breakはある重循環から飛び出すことができますが、この重循環の他の外重サイクルから飛び出すことはできません。
例えば、一番内側の第3のループbreakの後、プログラムは第2のループに戻り、第2のループの次のループを実行し続け、そして第3のループは再び実行される。
(2)continueは、あるサイクルをスキップした回数ですが、このサイクルの残り回数は継続します。
(3)for…else:ここでelseブロックのステートメントはforループが完全に実行された後に実行されます。forループがbreakによって実行されると、elseブロックは実行されません。
(4)方法3において、第3のサイクルがi=j=k=3を満たすと、第3のサイクルがbreakによって、並列のelse 1がスキップされ、break 1が実行され、第2のサイクルが生じる
終了すると、else 2がスキップされ、break 2が実行され、第1のサイクルが終了する。
最後に全体のサイクルから跳び出すことを実現します。
for…else加break例:
# -*- coding:utf-8 -*-
"""
:python
"""
# 1:
class Getoutofloop(Exception):
pass
try:
for i in range(5):
for j in range(5):
if i == j == 2:
raise Getoutofloop()
else:
print i, '----', j
except Getoutofloop:
pass
方法2:循環パッケージを関数として、return
# -*- coding:utf-8 -*-
"""
:python
"""
# 2: ,return
def test():
for i in range(5):
for j in range(5):
if i == j == 2:
return
else:
print i, '----', j
test()
方法3:for…else…文を使う
# -*- coding:utf-8 -*-
"""
:python
"""
# 2:for...else... ,
for i in range(5):
for j in range(5):
for k in range(5):
if i == j == k == 3:
break
else:
print i, '----', j, '----', k
else: # else1
continue
break # break1
else: # else2
continue
break # break2
方法3説明:(1)breakはある重循環から飛び出すことができますが、この重循環の他の外重サイクルから飛び出すことはできません。
例えば、一番内側の第3のループbreakの後、プログラムは第2のループに戻り、第2のループの次のループを実行し続け、そして第3のループは再び実行される。
(2)continueは、あるサイクルをスキップした回数ですが、このサイクルの残り回数は継続します。
(3)for…else:ここでelseブロックのステートメントはforループが完全に実行された後に実行されます。forループがbreakによって実行されると、elseブロックは実行されません。
(4)方法3において、第3のサイクルがi=j=k=3を満たすと、第3のサイクルがbreakによって、並列のelse 1がスキップされ、break 1が実行され、第2のサイクルが生じる
終了すると、else 2がスキップされ、break 2が実行され、第1のサイクルが終了する。
最後に全体のサイクルから跳び出すことを実現します。
for…else加break例:
# -*- coding:utf-8 -*-
"""
:for...else
"""
for i in range(5):
print i
else:
print u" 。"
for j in range(6):
for k in range(6):
print j, k
if j == 3:
print u" break"
break
else:
print u" 。"
else:
print u" 。"
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。