Hugo's explanation is nice and clear. You may also want to look at this way Consider the most simplified form of the issue
def alpha(): if X: beta() else: return q Here in the* if branch* nothing is returned while in the *else branch *something is being returned. That is whenever X is True nothing is returned from alpha(). Even if beta() returns something that is not being used. But when X is False something (q in this simplistic example) is being returned So this is a bug. HTH Asokan Pichai SVP - Learning and Development “Faith consists in believing when it is beyond the power of reason to believe. " Voltaire <http://www.brainyquote.com/quotes/quotes/v/voltaire163832.html>
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor