Update structure

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
Manuel Vergara 2023-09-27 01:21:16 +02:00
parent 13f01de361
commit 19f22f039a
29 changed files with 239 additions and 12 deletions

View File

@ -43,5 +43,6 @@ Documento original en inglés: [Introduction](https://github.com/Asabeneh/30-Day
- Escribe un ejemplo para diferentes tipos de datos en Python, como Número (Entero, Flotante, Complejo), Cadena de texto, Booleano, Lista, Tupla, Conjunto y Diccionario.
- Encuentra la distancia euclidiana entre (2, 3) y (10, 8).
[Solución](./03_introduccion.py)
[Solución](./03_introduccion.py)
[<< INTRO](../README.md) | [Day 2 >>](../02_Variables_funciones_incorporadas/README.md)

View File

@ -41,3 +41,5 @@ Documento original en inglés: [Variables, Builtin Functions](https://github.com
- Ejecuta `help('keywords')` en la terminal de Python o en tu archivo para verificar las palabras reservadas o palabras clave de Python.
[Solución](./variables.py)
[<< Day 1](../01_Introducción/README.md) | [Day 3 >>](../03_Operadores/README.md)

View File

@ -3,3 +3,5 @@
Documento original en inglés: [Operators](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/03_Day_Operators/03_operators.md)
[Solución](./01_operadores.py)
[<< Day 2](../02_Variables_funciones_incorporadas/README.md) | [Day 4 >>](../04_Cadenas/README.md)

View File

@ -69,3 +69,5 @@ El área de un círculo con radio 10 es de 314 metros cuadrados.
```
[Solución](./01_cadenas.py)
[<< Day 3](../03_Operadores/README.md) | [Day 5 >>](../05_Listas/README.md)

View File

@ -87,3 +87,5 @@ edades = [19, 22, 19, 24, 20, 25, 26, 24, 25, 24]
- Desempaqueta los primeros tres países y el resto como países escandinavos.
[Solución](./01_listas.py)
[<< Day 4](../04_Cadenas/README.md) | [Day 6 >>](../06_Tuplas/README.md)

View File

@ -40,3 +40,5 @@ nordic_countries = ('Dinamarca', 'Finlandia', 'Islandia', 'Noruega', 'Suecia')
```
[Solución](01_tuplas.py)
[<< Day 5](../05_Listas/README.md) | [Day 7 >>](../07_Conjuntos/README.md)

View File

@ -48,3 +48,5 @@ age = [22, 19, 24, 25, 26, 24, 25, 24]
3. Soy un profesor y me encanta inspirar y enseñar a la gente. ¿Cuántas palabras únicas se han utilizado en la oración? Utiliza los métodos `split` y `set` para obtener las palabras únicas.
[Solución](./01_sets.py)
[<< Day 6](../06_Tuplas/README.md) | [Day 8 >>](../08_Diccionarios/README.md)

View File

@ -27,3 +27,5 @@ Documento original en inglés: [Dictionaries](https://github.com/Asabeneh/30-Day
11. Elimina uno de los diccionarios por completo.
[Solución](01_dic.py)
[<< Day 7](../07_Conjuntos/README.md) | [Day 9 >>](../09_Condicionales/README.md)

View File

@ -83,3 +83,5 @@ Asabeneh Yetayeh vive en Finlandia. Está casado.
```
[Solución](./01_condicionales.py)
[<< Day 8](../08_Diccionarios/README.md) | [Day 10 >>](../10_Bucles/README.md)

View File

@ -85,3 +85,5 @@ La suma de todos los números pares es 2550. Y la suma de todos los números imp
- Encuentra los 10 países más poblados del mundo.
[Solución](03_bucles.py)
[<< Day 9](../09_Condicionales/README.md) | [Day 10 >>](../10_Bucles/README.md)

View File

@ -90,3 +90,5 @@ print(evens_and_odds(100))
- Crea una función llamada `most_spoken_languages_in_the_world`. Debe devolver las 10 o 20 lenguas más habladas en el mundo en orden descendente.
- Crea una función llamada `most_populated_countries`. Debe devolver los 10 o 20 países más poblados en orden descendente.
[<< Day 10](../10_Bucles/README.md) | [Day 12 >>](../12_Módulos/README.md)

View File

@ -64,3 +64,5 @@ Ejercicios: Nivel 3
2. Escribe una función que devuelva una matriz de siete números aleatorios en un rango de 0-9. Todos los números deben ser únicos.
[Solución](01_modulos.py)
[<< Day 11](../11_Funciones/README.md) | [Day 13 >>](../13_Comprensión_de_listas/README.md)

View File

@ -62,3 +62,5 @@ names = [[('Asabeneh', 'Yetayeh')], [('David', 'Smith')], [('Donald', 'Trump')],
# Resultado: ['Asabeneh Yetayeh', 'David Smith', 'Donald Trump', 'Bill Gates']
```
7. Escribe una función lambda que pueda resolver una pendiente o una ordenada al origen de funciones lineales.
[<< Day 12](../12_Módulos/README.md) | [Day 14 >>](../14_Funciones_de_orden_superior/README.md)

View File

@ -43,3 +43,5 @@ numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- Ordena los países por nombre, capital y población.
- Filtra los diez idiomas más hablados por ubicación.
- Filtra los diez países más poblados.
[<< Day 13](../13_Comprensión_de_listas/README.md) | [Day 15 >>](../15_Errores_de_tipo_en_Python/README.md)

View File

@ -5,3 +5,5 @@ Documento original en inglés: [Python Type Errors](https://github.com/Asabeneh/
## Ejercicios
1. Abre tu shell interactivo de Python y prueba todos los ejemplos cubiertos en esta sección.
[<< Day 14](../14_Funciones_de_orden_superior/README.md) | [Day 16 >>](../16_Fecha_y_hora_en_Python/README.md)

View File

@ -13,3 +13,5 @@ Documento original en inglés: [Python Date time](https://github.com/Asabeneh/30
- Análisis de series temporales.
- Obtener una marca de tiempo de cualquier actividad en una aplicación.
- Publicar entradas en un blog.
[<< Day 15](../15_Errores_de_tipo_en_Python/README.md) | [Day 17 >>](../17_Manejo_de_excepciones/README.md)

View File

@ -10,3 +10,4 @@ names = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland', 'Estonia', 'Russia
1. Desempaca los cinco primeros países y almacénalos en una variable llamada 'nordic_countries', almacena 'Estonia' y 'Russia' en variables 'es' y 'ru' respectivamente.
[<< Day 16](../16_Fecha_y_hora_en_Python/README.md) | [Day 18 >>](../18_Expresiones_regulares/README.md)

View File

@ -69,3 +69,5 @@ print(clean_text(sentence));
I am a teacher and I love teaching There is nothing as more rewarding as educating and empowering people I found teaching more interesting than any other jobs Does this motivate you to be a teacher
print(most_frequent_words(cleaned_text)) # [(3, 'I'), (2, 'teaching'), (2, 'teacher')]
```
[<< Day 17](../17_Manejo_de_excepciones/README.md) | [Day 19 >>](../19_Manipulación_de_archivos/README.md)

View File

@ -4,4 +4,110 @@ Documento original en inglés: [file handling](https://github.com/Asabeneh/30-Da
## Ejercicios
...
### Ejercicios: Nivel 1
1. Escribe una función que cuente el número de líneas y palabras en un texto. Todos los archivos se encuentran en la carpeta data:
a) Lee el archivo obama_speech.txt y cuenta el número de líneas y palabras
b) Lee el archivo michelle_obama_speech.txt y cuenta el número de líneas y palabras
c) Lee el archivo donald_speech.txt y cuenta el número de líneas y palabras
d) Lee el archivo melina_trump_speech.txt y cuenta el número de líneas y palabras
2. Lee el archivo de datos countries_data.json en el directorio data, crea una función que encuentre los diez idiomas más hablados.
```py
# Tu resultado debería lucir de la siguiente manera
print(idiomas_mas_hablados(archivo='./data/countries_data.json', top=10))
[
{'idioma': 'Inglés', 'cantidad': 91},
{'idioma': 'Francés', 'cantidad': 45},
{'idioma': 'Árabe', 'cantidad': 25},
{'idioma': 'Español', 'cantidad': 24},
{'idioma': 'Ruso', 'cantidad': 9},
{'idioma': 'Portugués', 'cantidad': 9},
{'idioma': 'Holandés', 'cantidad': 8},
{'idioma': 'Alemán', 'cantidad': 7},
{'idioma': 'Chino', 'cantidad': 5},
{'idioma': 'Suajili', 'cantidad': 4}
]
# Tu resultado debería lucir de la siguiente manera
print(idiomas_mas_hablados(archivo='./data/countries_data.json', top=3))
[
{'idioma': 'Inglés', 'cantidad': 91},
{'idioma': 'Francés', 'cantidad': 45},
{'idioma': 'Árabe', 'cantidad': 25}
]
```
3. Lee el archivo de datos countries_data.json en el directorio data, crea una función que genere una lista de los diez países más poblados.
```py
# Tu resultado debería lucir de la siguiente manera
print(paises_mas_poblados(archivo='./data/countries_data.json', top=10))
[
{'país': 'China', 'población': 1377422166},
{'país': 'India', 'población': 1295210000},
{'país': 'Estados Unidos de América', 'población': 323947000},
{'país': 'Indonesia', 'población': 258705000},
{'país': 'Brasil', 'población': 206135893},
{'país': 'Pakistán', 'población': 194125062},
{'país': 'Nigeria', 'población': 186988000},
{'país': 'Bangladesh', 'población': 161006790},
{'país': 'Federación Rusa', 'población': 146599183},
{'país': 'Japón', 'población': 126960000}
]
# Tu resultado debería lucir de la siguiente manera
print(paises_mas_poblados(archivo='./data/countries_data.json', top=3))
[
{'país': 'China', 'población': 1377422166},
{'país': 'India', 'población': 1295210000},
{'país': 'Estados Unidos de América', 'población': 323947000}
]
```
### Ejercicios: Nivel 2
1. Extrae todas las direcciones de correo electrónico entrantes como una lista del archivo email_exchange_big.txt.
2. Encuentra las palabras más comunes en el idioma inglés. Llama a tu función encontrar_palabras_mas_comunes, tomará dos parámetros: una cadena o un archivo y un número entero positivo que indicará la cantidad de palabras. Tu función devolverá una lista de tuplas en orden descendente. Comprueba el resultado.
```py
# Tu resultado debería lucir de la siguiente manera
print(encontrar_palabras_mas_comunes('muestra.txt', 10))
[(10, 'the'),
(8, 'be'),
(6, 'to'),
(6, 'of'),
(5, 'and'),
(4, 'a'),
(4, 'in'),
(3, 'that'),
(2, 'have'),
(2, 'I')]
# Tu resultado debería lucir de la siguiente manera
print(encontrar_palabras_mas_comunes('muestra.txt', 5))
[(10, 'the'),
(8, 'be'),
(6, 'to'),
(6, 'of'),
(5, 'and')]
```
3. Utiliza la función encontrar_palabras_mas_comunes para encontrar:
a) Las diez palabras más frecuentes utilizadas en el discurso de Obama
b) Las diez palabras más frecuentes utilizadas en el discurso de Michelle
d) Las diez palabras más frecuentes utilizadas en el discurso de Melina
c) Las diez palabras más frecuentes utilizadas en el discurso de Trump
4. Escribe una aplicación Python que verifique la similitud entre dos textos. Toma un archivo o una cadena como parámetro y evaluará la similitud entre los dos textos. Es posible que necesites un par de funciones: una para limpiar el texto (limpiar_texto), una para eliminar las palabras de soporte (eliminar_palabras_soporte) y finalmente para verificar la similitud (verificar_similitud_texto). La lista de palabras de paro se encuentra en el directorio data.
5. Encuentra las 10 palabras más repetidas en romeo_and_juliet.txt.
6. Lee el archivo CSV de hacker news y averigua:
a) Cuántas líneas contienen python o Python
b) Cuántas líneas contienen JavaScript, javascript o Javascript
c) Cuántas líneas contienen Java y no JavaScript
[<< Day 18](../18_Expresiones_regulares/README.md) | [Day 20 >>](../20_Gestor_de_paquetes_de_Python/README.md)

View File

@ -4,4 +4,20 @@ Documento original en inglés: [python package manager](https://github.com/Asabe
## Ejercicios
...
1. Lee esta URL y encuentra las 10 palabras más frecuentes. Romeo y Julieta: 'http://www.gutenberg.org/files/1112/1112.txt'
2. Lee la API de gatos y la URL: 'https://api.thecatapi.com/v1/breeds' y encuentra:
- El mínimo, máximo, promedio, mediana y desviación estándar del peso de los gatos en unidades métricas.
- El mínimo, máximo, promedio, mediana y desviación estándar de la esperanza de vida de los gatos en años.
- Crea una tabla de frecuencias de países y razas de gatos.
3. Lee la [API de países](https://restcountries.eu/rest/v2/all) y encuentra:
- Los 10 países más grandes.
- Los 10 idiomas más hablados.
- El número total de idiomas en la API de países.
4. La Universidad de California en Irvine (UCI) es uno de los lugares más comunes para obtener conjuntos de datos para ciencia de datos y aprendizaje automático. Lee el contenido de UCI (https://archive.ics.uci.edu/ml/datasets.php). Sin bibliotecas adicionales, puede ser difícil, por lo que puedes intentarlo con BeautifulSoup4.
[<< Day 19](../19_Manipulación_de_archivos/README.md) | [Day 21 >>](../21_Clases_y_objetos/README.md)

View File

@ -4,4 +4,44 @@ Documento original en inglés: [Classes and Objects](https://github.com/Asabeneh
## 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.
[<< Day 20](../20_Gestor_de_paquetes_de_Python/README.md) | [Day 22 >>](../22_Web_scraping/README.md)

View File

@ -4,4 +4,10 @@ Documento original en inglés: [Web Scraping](https://github.com/Asabeneh/30-Day
## Ejercicios
...
1. Realiza un raspado web del siguiente sitio web y guarda los datos en un archivo JSON (URL = 'http://www.bu.edu/president/boston-university-facts-stats/').
2. Extrae la tabla de esta URL (https://archive.ics.uci.edu/ml/datasets.php) y conviértela en un archivo JSON.
3. Realiza un raspado web de la tabla de presidentes y guarda los datos como JSON (https://en.wikipedia.org/wiki/List_of_presidents_of_the_United_States). La tabla no está muy estructurada y el proceso de raspado puede llevar mucho tiempo.
[<< Day 21](../21_Clases_y_objetos/README.md) | [Day 23 >>](../23_Entorno_virtual/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [Virtual Environment](https://github.com/Asabeneh
## Ejercicios
...
1. Crea un directorio de proyecto con un entorno virtual basado en el ejemplo dado arriba.
[<< Day 22](../22_Web_scraping/README.md) | [Day 24 >>](../24_Estadísticas/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [statistics](https://github.com/Asabeneh/30-Days-
## Ejercicios
...
1. Repite todos los [ejemplos](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/24_Day_Statistics/24_statistics.md)
[<< Day 23](../23_Entorno_virtual/README.md) | [Day 25 >>](../25_Pandas/README.md)

View File

@ -4,4 +4,17 @@ Documento original en inglés: [Pandas](https://github.com/Asabeneh/30-Days-Of-P
## Ejercicios
...
1. Lee el archivo hacker_news.csv del directorio de datos.
2. Obtén las primeras cinco filas.
3. Obtén las últimas cinco filas.
4. Obtén la columna de títulos como una serie de pandas.
5. Cuenta el número de filas y columnas.
- Filtra los títulos que contengan "python".
- Filtra los títulos que contengan "JavaScript".
- Explora los datos y dales sentido.
[<< Day 24](../24_Estadísticas/README.md) | [Day 26 >>](../26_Desarrollo_web_en_Python/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [Python web](https://github.com/Asabeneh/30-Days-
## Ejercicios
...
1. Construirás esta [aplicación](https://thirtydaysofpython-v1-final.herokuapp.com/). Solo queda la parte del analizador de texto.
[<< Day 25](../25_Pandas/README.md) | [Day 27 >>](../27_Python_con_MongoDB/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [Python with MondoDB](https://github.com/Asabeneh
## Ejercicios
...
Repasar [ejemplos](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/27_Day_Python_with_mongodb/27_python_with_mongodb.md)
[<< Day 26](../26_Desarrollo_web_en_Python/README.md) | [Day 28 >>](../28_API/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [API](https://github.com/Asabeneh/30-Days-Of-Pyth
## Ejercicios
...
1. Lee sobre API y HTTP.
[<< Day 27](../27_Python_con_MongoDB/README.md) | [Day 29 >>](../29_Construcción_de_API/README.md)

View File

@ -4,4 +4,6 @@ Documento original en inglés: [Building an API](https://github.com/Asabeneh/30-
## Ejercicios
...
1. Implementa el ejemplo anterior y desarrolla [esto](https://thirtydayofpython-api.herokuapp.com/).
[<< Day 28](../28_API/README.md) | [Day 30 >>](https://github.com/Asabeneh/30-Days-Of-Python/blob/master/30_Day_Conclusions/30_conclusions.md)