Why does the build operator in this example 4**(1/2) (which is the square root operation) return 1 , not 2 , as you would expect? If an acceptable result is not returned, it should receive an error, but Python continues to work without any failure. At least the Python 2.7.4 distribution has 64 bits.
This also happens with the pow(4,1/2) math function, which returns 1 without error.
Instead, when doing 4**(0.5) it returns a 2.0 result, which is correct, although it mixes integers and floats without any warning. The same thing happens with pow.
Any explanation for this behavior? Should they be considered errors?
source share