[Python] - La media de una lista

Iniciado por Meta, 25 Noviembre 2010, 12:10 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Hola:

Quiero calcular la media de una lista.

Ver ejercicio...

Código (python) [Seleccionar]
def maximo(lista):
    if len(lista) > 0:
        candidato = lista [0]
        for elemento in lista:
            if elemento > candidato:
                candidato = elemento
    else:
        candidato = None

    return candidato


No se hacer lo que te devuelva la media.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Novlucker

Realmente no entiendo nada de tu code ... que función se supone que cumple "candidato"? Simplemente debes de sumar todo y dividir

Código (python) [Seleccionar]
List = [1, 2, 1, 5, 0, 3]
def Promedio(plist):
    if len(plist)>0:
        return reduce(lambda x,y:x+y,plist)/len(plist)
    return 0

print 'Promedio: ',Promedio(List)


Seguro no es así como lo tienes que hacer, pero te estoy dando ideas y un code con el cual verificar resultados :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Meta

Tu código como resultado es 2.

Está bien, aunque me da la impresión que se puede hacer sin usar el lambda como muestra aquí.
http://es.diveintopython.org/apihelper_lambda.html
http://docs.python.org/tutorial/controlflow.html

Gracias.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Novlucker

Creo que hay algo que no se entiende, hay tropecientas maneras de hacer la misma cosa y yo he preferido hacerlo con lambda, tu debes de hacerlo como más te plazca o te lo pida la letra (si estas estudiando funciones, entonces con funciones).

Intento hacerte un bien, parece que solo buscaras una solución a tu ejercicio para archivar, así que he optado por dar la solución sin dar la solución.

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Karcrack

#4
La media es la suma de todos los valores partida por dos la cantidad de elementos...
Modifico; Razon? Retraso mental >:D

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Meta

#7
Gracias.

Quiero entender todo, hacer como dices, para archivar y no olvidar (Ya me tienen calado, ;)). Muchas gracias por su tiempo campeón, me han ayudado mucho en comprender muchas cosas.

;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Karcrack


.:WindHack:.

#9
La media es la suma de todos los valores dividido por el número total de datos.

[1, 2, 1, 5, 0, 3]
2



Aquí otra solución, porque como bien dice Novlucker: «Hay tropecientas maneras de hacer la misma cosa...»

Código (python) [Seleccionar]
def fMedia(sList):
    sSuma = 0
    if len(sList)>0:
    for i in sList:
       sSuma += i
    return sSuma / len(sList)
    else:
return 0

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."