エラーなしで以下の python スクリプトを実行できます。
for n in range(3):
print n
else:
print "done"
しかし、一致するifがないelseについては困惑しています。
それは意味がありません。
なぜこれが機能するのか説明できますか?
andのelse
句は、ループが正常に終了した場合、つまり実行されない場合にのみ実行されます。for
while
break
for i in range(20):
print i
if i == 3:
break
else:
print 'HAHA!'
そして、例外が発生しなかった場合else
にのみ実行される節。try
try:
a = 1 / 2
except ZeroDivisionError:
do_something()
else:
print '/golfclap'
の本体は、ループが完了else
した後に実行されますが、ループが byステートメントによって早期に終了しなかった場合に限ります。for
for
break