Oops, try again. median([1]) resulted in an error: list index out of range

So I sorted the code and then I found the length.
When the length is divided by 2 and the remainder is 1 then it divides the index by 2 and returns the number in that index (i think).
Then if the remainder is equal than 0 then it divides the index of the number and gets that number. Then it takes divides the index again by 2 and then subtract by 1 to get the previous index
Then it takes those two numbers and divides it to get the median

def median(list_input):
    list_input= sorted(list_input)
    if  length%2==1:
        a = list_input[length]/2
        return a
    elif length%2==0:
        a = list_input[length]/2
        b = list_input[length]/2-1 
        c = a/b
        return c


This will not be a median. We need to add the middle two values and take their average when list length is even.


Can you see the repeated code patterns? See if you cannot find a way to simplify that so your code is more easily readable.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.