One way out of the top level is to call
sys.exit(1)
-----Original Message-----
From: Orri Ganel [mailto:[EMAIL PROTECTED]
Sent: Friday, January 28, 2005 4:26 PM
To: Gilbert Tsang; [email protected]
Subject: Re: [Tutor] Control flow
Gilbert Tsang wrote:
> Hi there, I have this logic that I cannot wrap my mind it:
>
> def go_jogging():
> # go out and jog
> return
>
> if ( bad_weather =='y' ):
> # ask user only if weather is bad.
> b = input ( "Weather is really bad, still go out to jog?[y/n]" )
> if b == 'y':
> go_jogging()
> else:
> # program should exit now
> else:
> go_jogging()
>
> ####################################################
> I can't get the program to stop processing further in the middle
> (apparently neither exit nor goto-label exist in Python, sorry for the
> C++ mindset) so I used exception to achieve what I want. I know in
> that example you could probably manipulate the logic so that program
> ends at the bottom of the if-tree. My question is then how to exit in
> the middle of a if-then-else tree? Thanks, Gilbert.
>
> try:
> if ( bad_weather =='y' ):
> b = input ( "Weather is really bad, still go out to jog?[y/n]"
)
> if b == 'y':
> go_jogging()
> else:
> raise Exception( "quit" )
> else:
> go_jogging()
> except Exception, inst:
> print "Program exits now"
> _______________________________________________
> Tutor maillist - [email protected]
> http://mail.python.org/mailman/listinfo/tutor
>
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor