2

エラーなしで以下の python スクリプトを実行できます。

for n in range(3):
    print n
else:
    print "done"

しかし、一致するifがないelseについては困惑しています。
それは意味がありません。
なぜこれが機能するのか説明できますか?

4

2 に答える 2

7

andのelse句は、ループが正常に終了した場合、つまり実行されない場合にのみ実行されます。forwhile 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'
于 2013-08-08T02:25:21.147 に答える
3

の本体は、ループが完了elseした後に実行されますが、ループが byステートメントによって早期に終了しなかった場合に限ります。forforbreak

于 2013-08-08T02:25:37.767 に答える