Median in Codecademy doesn't match my Spyder result


Oops, try again. median([4, 5, 5, 4]) returned 4 instead of 4.5

But when I run it in Spyder (the IDE I use), it returns 4.5
Am I missing something? Why is it not running correctly in Codecademy?

Full disclosure, I know that my code is probably really ugly and possibly inefficient, but it returns the correct answers for me.

def iseven(number):
    if number%2==0:
        return True
        return False
def median(nums):
    if iseven(len(nums))==True:
        return (nums[int(index1)]+nums[int(index2)])/2
    elif iseven(len(nums))==False:
        return nums[int(((len(nums)/2)-.5))]



I changed every instance of 2 to 2.0 and 1 to 1.0
It has to do with rounding and floats and what have you


let me clarify something for you, codecademy uses python 2.7

in python 2.7 a integer (non decimal number) divided by a integers gives a integer. This behavior was changed in python3. dividing integers gives a float if needed in python3. If you want to mimic python2 behavior in python3, you need to use //, which would floor the number.

Which explains why you need 2.0 in codecademy, since a integer divided by a float gives a float as result. I guess the environment you used, use python3.

Hope that clarify's something.