Why float('Nan') == float('Nan') is False

Joe Pfeiffer pfeiffer at cs.nmsu.edu
Thu Feb 14 11:52:30 EST 2019


ast <none at gmail.com> writes:

> Le 13/02/2019 à 14:21, ast a écrit :
>> Hello
>>
>>  >>> float('Nan') == float('Nan')
>> False
>>
>> Why ?
>>
>> Regards
>>
>
> Thank you for answers.
>
> If you wonder how I was trapped with it, here
> is the failing program.
>
>
> r = float('Nan')
>
> while r==float('Nan'):
>     inp = input("Enter a number\n")
>     try:
> 	r = float(inp)
>     except ValueError:
> 	r = float('Nan')

import math
while math.isnan(r) :

will do what you're looking for.

If you're using python 3.5 or higher, you can also use math.nan instead
of float('nan').


More information about the Python-list mailing list