Hola:
Quiero calcular la media de una lista.
Ver ejercicio... (http://www.subeimagenes.com/img/gdfghfhfghgj-7785.jpg)
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.
Realmente no entiendo nada de tu code ... que función se supone que cumple "candidato"? Simplemente debes de sumar todo y dividir
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
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.
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
La media es la suma de todos los valores partida por dos la cantidad de elementos...
Modifico; Razon? Retraso mental >:D
:huh:
La media aritmética? xD
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.
;)
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...»
def fMedia(sList):
sSuma = 0
if len(sList)>0:
for i in sList:
sSuma += i
return sSuma / len(sList)
else:
return 0
Gracias, este me gusta más, lo guardaré en mis apuntes también.
Lo quiero así porque en el PDF (http://marmota.act.uji.es/mtp/pdf/python.pdf) no usan lo indicado arriba, cuando llegue a esos capítulos me callo.
def avg(l): return sum(l)/len(l) if len(l) > 0 else 0
http://docs.python.org/py3k/library/functions.html
Está bueno y m uy corto el código.
El code de Ragnarok sin dudas es la mejor opción si lo vas a hacer en "verdad", pero tu con eso no aprendes nada sobre bucles y funciones Meta, salvo que la función sum calcula listas :xD
Saludos