Ayuda por favor, con una función Python de nombre promedio_std(). La función debe recibir una lista de números, y debe retornar retornar el promedio de ellos, junto con su desviación estándar. Retun (x,y)


MarcoHdez: ¿Tendrás la fórmula explicada de desviación estándar? Es que la verdad no sé cómo hacer
MarcoHdez: Tengo el código del promedio pero no sé de la desviación

Respuestas

Respuesta dada por: MarcoHdez
0
Te voy a poner el código del promedio porque a lo otro nunca le entendí cuando me tocó verlo 

def promedio_std(dato):
    x = 0
    y = 0
    z = 0

    dato = dato.split(",")

    for i in range(0,len(dato)):
        dato[i] = int(dato[i])
        x = dato[i] + x

    x = x/len(dato)

    return(round(x,2))

print(promedio_std(input("Escribe los promedios separados por comas (x,y,z...): ")))
input()

alexitosc: vale! pero me pide que retorne asi return(x,y)
MarcoHdez: Eso que te puse es para que redondee los decimales a 2 porque luego salen resultados bastante largos pero si quieres solo borrale lo de round y dejas la pura x,y
alexitosc: me arroja un error porque me pide que dato lo combien por lista, lo realice y me tira otro error!
alexitosc: https://drive.google.com/file/d/131nna-3oRagWVGdYyamva51R8IVsX2Ms/view?usp=sharing
MarcoHdez: Deja veo
MarcoHdez: ¿Editaste el código?
MarcoHdez: https://docs.google.com/document/d/1DxsTrsUoQA5cYB40b9C1AkCeRC_RK0hY7oZRgWV-2B8/edit?usp=sharing No entiendo qué pasa, ya probé el código y se ejecuta bien
alexitosc: :( tengo otro que voy a publicar
keygen12: hola! consulta, el error que a mi me sale es el mismo que acá https://drive.google.com/file/d/131nna-3oRagWVGdYyamva51R8IVsX2Ms/view
MarcoHdez: Hola keygen, he vuelto a ver el código que he facilitado y me di cuenta que los ejercicios por los que preguntan deben de venir de algún curso y su código toma los parámetros que el mismo curso ingresa. En este caso, el argumento de la función "promedio_std" toma una lista en el argumento "dato" y yo no me había percatado de esto, removiendo la línea de código que dice split podría ser una opción pero considero mejor plantear otra pregunta y generar un mejor código
Respuesta dada por: rickyby507
15

Respuesta:

def promedio_std(lista):

   x = 0

   y = 0

   suma = 0

   media = sum(lista) / len(lista)

   total = 0.0

   for i in lista:

       suma = suma + i

       total = total + (i - media) ** 2

   y = (total / len(lista)) ** 0.5

   x = suma / len(lista)

   return (x, y)

print(promedio_std([18, 25, 3, 41, 5]))

Explicación:

X=Promedio y Y= Desviación estándar

Preguntas similares