15to ejercicio - La práctica hace al maestro - Media


#1

Hola.... llevo varios días con este ejercicio y me siento bastante frustrado. No se si estoy muy cerca o definitivamente mi còdigo no sirve.

Agradezco de antemano su ayuda.

def media(lista):
    lista_ordenada = sorted(lista)
    print lista_ordenada
    for i in lista_ordenada:
        if len(lista) == 1:
            return i
        elif lista_ordenada.index(i) == len(lista_ordenada) / 2.0 \
        and len(lista_ordenada) % 2 == 0:
            return (i - 1 + i) / 2.0
        elif lista_ordenada.index(i) == len(lista_ordenada) / 2 \
        and len(lista_ordenada) % 2 == 1:
            return i


print media([6,6,6,6,6])

#2

@germanrtp,
I do not understand your logic.....
but maybe this is of some help

def media(lista):
    lista_ordenada = sorted(lista)
    print lista_ordenada
    for i,v in enumerate(lista_ordenada):
        print( "{0} {1}".format(i,v) )
        print( lista_ordenada[i] )
        print( "=============" )
print media([6,6,6,6,6])

#3
def media(lista):
    lista_orden = sorted(lista)
    if len(lista_orden)%2 == 0:
        return (lista_orden[(len(lista_orden)/2)] + lista_orden[((len(lista_orden)/2) - 1)]) / 2.0
    else: 
        return lista_orden[(len(lista_orden)/2)]