I get tetchy when I haven't had any dinner. The benefit will be more noticeable for statements like verboseName[complicated + index + calculation].verboseAttribute += 1 print "The average is: ", sum / count #the error is in the above line Here's an excerpt from floatdiv.c in Objects/floatobject.c: if (b == 0.0) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); return NULL; } This is probably the only sane way to deal with differences in platform Python doesn't generate exceptions for other floating point "events" -- why the inconsistency with divide by zero?

From the PoV of a numerics guy it's surprising. Why is water evaporated from the ocean not salty? Number-crunching doesn't necessarily imply that you need to crunch billions of numbers in the minimum time possible. But you might want to modify this line to deal with the situation that count == 0.

In the finally block we check if the file is opened or not. So I would also trap any errors besides trapping for the obvious zero division. This could slow down floats a bit because every time f/0. Lagrangian of a 2D double pendulum system with a spring Can I buy my plane ticket to exit the US to Mexico?

A better statement: the completion (in the sense of lattices) of the real numbers is (isomorphic to) the doubly-extended real line. Are there any rules or guidelines about designing a flag? Python doesn't generate exceptions for other floating point "events" -- why the inconsistency with divide by zero? Not the answer you're looking for?

Does chilli get milder with cooking? Since infinity == infinity + delta for any delta, comparison for equality seems a little specious. How to know CPU frequency? Any thoughts on the general directions here?

professionals. Turn off ZeroDivisionError? If this clause was omitted, Python would just raise the exception on its own. So far I love it.

That's the reason for two math modules (math and cmath). Having INF == INF be True seems like something that makes sense both mathematically and computationally. Properly, comparisons like ">" have three possibilities: True, False, and "raise". without worrying about what set has cardinality -1, I see no reason why we shouldn't generalize negation to the alephs.

Maybe there should be another division operator for use by FP professionals? / -- mathematical real division // -- mathematical integer division /// -- IEEE floating point division (where supported) -- float division by zero. Python is my game. You could then catch the exception whenever it occurs and handle the situation from there on.

to produce an infinity; somepeople would prefer an exception. Yes, Python does do an explicit check for a zero denominator. a =

Even if you are worried about speed, using tools like like numpy can do some pretty cool stuff. I don't want to significantly slow floating point math, so I don't want to just trap the exception. It took us a lot of effort to get consistent results for edge cases of basic functions like sin and atan on all platforms. It was agreed quite a while ago amongst the Python demigods that the IEEE overflow, invalid and divide-by-zero signals should ideally raise Python exceptions, while underflow and inexact should be ignored.

But that hardly seems relevant to using floating-point as a model for the doubly extended real line, which has exactly two infinities. Not the answer you're looking for? Here's an excerpt from floatdiv.c in Objects/floatobject.c: if (b == 0.0) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); return NULL; } This is probably the only sane way to deal with differences in platform How to decrypt a broken S/MIME message sent by Outlook?

Or in English... -aleph(0) is the number more negative than every negative integer, which gratifyingly matches our intuition about negative infinity. But I can imagine there are use-cases for nonstop arithmetic with nans and infs where speed isn't the topmost concern. It raises an exception because everybody has learned at school 1/0 is not allowed. >From the PoV of a mathematician Python does the right thing, too. 1/0 is not defined, only But for numerically-aware users it would be nice if it were possible to do non-stop IEEE arithmetic with infinities and NaNs.

Why on earth whether 1/x throws or not depends on the input noise of x? Among other exceptions. So if the hard-coded kalibration.txt file happens to be present but empty, you'll get the exact same ZeroDivisionError. See: http://en.wikipedia.org/wiki/Point_at_infinity Aleph 1 didn't come up in the discussion earlier either.

If that's the rule, it shouldn't be broken in the special case of division by zero. I was thinking of the nonstandard reals. Possibly make it possible to trap individual flags.