Curso-lenguaje-python/30-days-of-python/21_Clases_y_objetos/README.md
Manuel Vergara d34da87ee0 Add exercises 21
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
2023-10-02 00:03:56 +02:00

50 lines
2.4 KiB
Markdown

# Clases y objetos
Documento original en inglés: [Classes and Objects](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/21_Day_Classes_and_objects/21_classes_and_objects.md)
## Ejercicios
### Ejercicios: Nivel 1
1. Python tiene el módulo llamado estadísticas y podemos usar este módulo para realizar todos los cálculos estadísticos. Sin embargo, para aprender a crear funciones y reutilizar funciones, intentemos desarrollar un programa que calcule la medida de tendencia central de una muestra (media, mediana, moda) y la medida de variabilidad (rango, varianza, desviación estándar). Además de esas medidas, encuentra el mínimo, máximo, recuento, percentil y distribución de frecuencia de la muestra. Puedes crear una clase llamada Estadísticas y crear todas las funciones que realicen cálculos estadísticos como métodos para la clase Estadísticas. Mira la salida a continuación.
```python
edades = [31, 26, 34, 37, 27, 26, 32, 32, 26, 27, 27, 24, 32, 33, 27, 25, 26, 38, 37, 31, 34, 24, 33, 29, 26]
print('Recuento:', data.count()) # 25
print('Suma: ', data.sum()) # 744
print('Mínimo: ', data.min()) # 24
print('Máximo: ', data.max()) # 38
print('Rango: ', data.range()) # 14
print('Media: ', data.mean()) # 30
print('Mediana: ', data.median()) # 29
print('Moda: ', data.mode()) # {'moda': 26, 'recuento': 5}
print('Desviación Estándar: ', data.std()) # 4.2
print('Varianza: ', data.var()) # 17.5
print('Distribución de Frecuencia: ', data.freq_dist()) # [(20.0, 26), (16.0, 27), (12.0, 32), (8.0, 37), (8.0, 34), (8.0, 33), (8.0, 31), (8.0, 24), (4.0, 38), (4.0, 29), (4.0, 25)]
```
```python
# Tu resultado debería lucir de la siguiente manera
print(data.describe())
Recuento: 25
Suma: 744
Mínimo: 24
Máximo: 38
Rango: 14
Media: 30
Mediana: 29
Moda: (26, 5)
Varianza: 17.5
Desviación Estándar: 4.2
Distribución de Frecuencia: [(20.0, 26), (16.0, 27), (12.0, 32), (8.0, 37), (8.0, 34), (8.0, 33), (8.0, 31), (8.0, 24), (4.0, 38), (4.0, 29), (4.0, 25)]
```
### Ejercicios: Nivel 2
1. Crea una clase llamada CuentaPersona. Tiene propiedades de nombre, apellido, ingresos, gastos y tiene métodos de total_ingreso, total_gasto, info_cuenta, agregar_ingreso, agregar_gasto y saldo_cuenta. Ingresos es un conjunto de ingresos y su descripción. Lo mismo ocurre con los gastos.
[Solución](01_clases_objetos.py)
[<< Day 20](../20_Gestor_de_paquetes_de_Python/README.md) | [Day 22 >>](../22_Web_scraping/README.md)