For the other three exercises, note that the problem is that normal algebra doesn’t necessarily work on intervals. You can see the basic problem by dividing an interval by itself: if x is the interval [1, 2], x/x is not 1, as we are accustomed to in algebra, but the interval [1/2, 2] that includes 1 as it’s geometric mean. Eva is correct in pointing out that par2 is better than par1 because it calculates each interval once, instead of applying one interval to another. The last exercise is the subject of several books and academic papers, which we won’t even try to summarize here; if you’re interested, a good place to start is Vladik Kreinovich’s web site.

My Python submission is available on codepad.org.
It requires the fractions module (new in Python 2.6), which adds support for rational number arithmetic.
My work is slightly hackish and could use better variable names, but it’ll do for now.

As Chun Kin Lee pointed out on my blog, my original attempt at removing duplication from times and divide doesn’t work on ranges with negative numbers, so you actually have to get the minimum/maximum of the four possible combinations.