strange behavior of the comparison operator
Grant Edwards
grante at visi.com
Wed Aug 29 17:01:44 EDT 2001
In article <mailman.999108615.24410.python-list at python.org>, Ignacio Vazquez-Abrams wrote:
> On Wed, 29 Aug 2001, Grant Edwards wrote:
>
>> The only problem I see is that the case where self.r==other.r and self.i >
>> other.i isn't handled. That wouldn't cause the problem you've observed, but
>> I'd do something like:
>>
>> def __comp__(self, other):
>> if self.r < other.r:
>> return -1
>> elif self.r > other.r:
>> return 1
>> else:
>> if self.i < other.i:
>> return -1
>> elif self.i > other.i:
>> return 1
>> else:
>> return 0
>
> Mmm, no. You see, what if you have values like (5+1j) and (2+58j)? are you
> sure you want to believe that (5+1j) is larger?
That's the requirement he specified. I was fixing the code to
meet the requirement. [It turns out the actual problem was the
method name, right?]
If you want to argue about the requirements, that's entirely
different.
> It will seem that way if you use the comparison function above.
Yup. That's what he said he wanted.
--
Grant Edwards grante Yow! I brought my BOWLING
at BALL -- and some DRUGS!!
visi.com
More information about the Python-list
mailing list