Confusing math problem

Schizoid Man schiz_man at 21stcentury.com
Thu Feb 21 23:44:33 CET 2013


"Chris Angelico" <rosuav at gmail.com> wrote in

<snip>

> First, are you aware that ** will return int (or sometimes long on
> 2.7.3), while math.pow() will return a float? That may tell you why
> you're seeing differences. That said, though, I wasn't able to
> replicate your result using 2.7.3 and 3.3.0 both on Windows - always
> 9183, indicating 618 of the powers are considered equal. But in
> theory, at least, what you're seeing is that 37 of them compare
> different in floating point on your Mac build. Something to consider:
>
> print(set(result1)-set(result2))

No, I was aware to be honest. I thought ** was just short hand for 
math.pow(). Since ** is the integer operation, I suppose ^ doesn't work as 
an exponent function in Python?

I compared the difference and got a large blob of numbers. To make a proper 
comparison I'll need to compare the base and exponent for which the numbers 
are different rather than the numbers themselves. I'm following Dave's 
suggestion of determining the symmetric difference of the sets.

Thanks for the help. 




More information about the Python-list mailing list