Leif K-Brooks wrote:
Steve Holden wrote:

I've even used an exception called Continue to overcome an irksome
restriction in the language (you used not to be able to continue a
loop from an except clause).


Out of curiosity, how could you use an exception to do that? I would think you would need to catch it and then use "continue", which wouldn't be possible because of the restriction you were trying to work around in the first place.

Here is a stupid way to calculate a 3-element median:

    class Success(Exception): pass

    def median_if_sorted(x,y,z):
        if x >= y >= z:
            raise Success(y)
    def median(a, b, c):
        try:
            median_if_sorted(a, b, c)
            median_if_sorted(c, b, a)
            median_if_sorted(a, c, b)
            median_if_sorted(c, a, b)
            median_if_sorted(b, a, c)
            median_if_sorted(b, c, a)
        except Success, instance:
            result, = instance.args
            return result
        else:
            raise ValueError, 'Nothing found'

--Scott David Daniels
[EMAIL PROTECTED]
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to