On Sun, 29 May 2011 10:29:28 +0000, Steven D'Aprano wrote: >> The correct answer to "nan == nan" is to raise an exception, because >> you have asked a question for which the answer is nether True nor False. > > Wrong.
That's overstating it. There's a good argument to be made for raising an exception. Bear in mind that an exception is not necessarily an error, just an "exceptional" condition. > The correct answer to "nan == nan" is False, they are not equal. There is no correct answer to "nan == nan". Defining it to be false is just the "least wrong" answer. Arguably, "nan != nan" should also be false, but that would violate the invariant "(x != y) == !(x == y)". -- http://mail.python.org/mailman/listinfo/python-list