Repeat an exception

Jean-Michel Pichavant jeanmichel at
Thu Feb 4 13:59:52 CET 2010

MRAB wrote:
> In other words:
> for attempt in range(2):
>     try:
>         spanish_field = translate(english_field, lang_to='es', 
> lang_from='en')
>         break
>     except TranslationError:
>         pass
> else:
>     # Didn't break out of the loop, therefore not successful.
>     print "Translation failed"

What the hell is this 'for else' loop !! :D First time I see this 
statement for years.
I'd never thought I'd still learn something that basic.

My first impression is that the  mechansim is not that obvious. MRAB's 
need for a comment tends to confirm this.
I'll try to remember that anyway. Nice addition.


More information about the Python-list mailing list