Ejercicios Python - Nivel 2
Ejercicio 1
- Crear una función que reciba una lista de números y devuelva su media aritmética.
- Ejemplo: media_aritmetica([1, 2, 3, 4, 5]) -> 3.0
Posible solución
def media_aritmetica(lista):
return sum(lista) / len(lista)
Ejercicio 2
- Crear una función que reciba una lista de números y devuelva su mediana.
- Ejemplo: mediana([1, 2, 3, 4, 5]) -> 3.0
Posible solución
def mediana(lista):
= sorted(lista)
lista_ordenada = len(lista_ordenada)
n if n % 2 == 0:
return (lista_ordenada[n // 2 - 1] + lista_ordenada[n // 2]) / 2
else:
return lista_ordenada[n // 2]
Ejercicio 3
- Crear una función que reciba una lista de números y devuelva su moda.
- Si hay más de una moda, devolver una lista con todas las modas.
- Si no hay moda, devolver una lista vacía.
- La moda es el número que más veces se repite en una lista.
- Si todos los números se repiten el mismo número de veces, no hay moda.
- Ejemplo: moda([1, 2, 3, 2, 3, 4]) -> [2, 3]
Posible solución
def moda(lista):
= {}
frecuencias for numero in lista:
if numero in frecuencias:
+= 1
frecuencias[numero] else:
= 1
frecuencias[numero] = max(frecuencias.values())
max_frecuencia = [numero for numero, frecuencia in frecuencias.items() if frecuencia == max_frecuencia]
modas return modas if len(modas) > 1 else modas[0] if modas else []
Ejercicio 4
- Crear una función que reciba una lista de números y devuelva su desviación típica.
- La desviación típica es la raíz cuadrada de la varianza.
- La varianza es la media de los cuadrados de las diferencias entre cada número y la media aritmética.
- Ejemplo: desviacion_tipica([1, 2, 3, 4, 5]) -> 1.4142135623730951
Posible solución
def desviacion_tipica(lista):
= sum(lista) / len(lista)
media = sum((numero - media) ** 2 for numero in lista) / len(lista)
varianza return varianza ** 0.5
Ejercicio 5
- Crear una función que reciba una lista de números y devuelva su coeficiente de variación.
- El coeficiente de variación es la desviación típica dividida por la media aritmética.
- Ejemplo: coeficiente_variacion([1, 2, 3, 4, 5]) -> 0.4472135954999579
Posible solución
def coeficiente_variacion(lista):
= sum(lista) / len(lista)
media = sum((numero - media) ** 2 for numero in lista) / len(lista) ** 0.5
desviacion_tipica return desviacion_tipica / media