Add exercises 10

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
Manuel Vergara 2023-09-23 01:06:12 +02:00
parent 7ea10164ef
commit 741f07dd9d
7 changed files with 3156 additions and 0 deletions

View File

@ -0,0 +1,55 @@
"""
01_bucles.py
"""
# Ejercicios: Nivel 1
# 1. Itera de 0 a 10 utilizando un bucle for,
# haz lo mismo utilizando un bucle while.
for i in range(11):
print(i)
i = 0
while i <= 10:
print(i)
i += 1
# 2. Itera de 10 a 0 utilizando un bucle for,
# haz lo mismo utilizando un bucle while.
for i in range(10, -1, -1):
print(i)
i = 10
while i >= 0:
print(i)
i -= 1
# 3. Escribe un bucle que haga siete llamadas a `print()`,
# de modo que obtengamos el siguiente triángulo en la salida:
for i in range(1, 8):
print('#' * i)
# 4. Utiliza bucles anidados para crear lo siguiente:
for i in range(8):
for j in range(8):
print('#', end=' ')
print()
# 5. Imprime el siguiente patrón:
for i in range(11):
print(f'{i} x {i} = {i*i}')
# 6. Itera a través de la lista
# `['Python', 'Numpy', 'Pandas', 'Django', 'Flask']`
# utilizando un bucle for e imprime los elementos.
for elemento in ['Python', 'Numpy', 'Pandas', 'Django', 'Flask']:
print(elemento)
# 7. Utiliza un bucle for para iterar de 0 a 100
# e imprime solo los números pares.
for i in range(0, 101, 2):
print(i)
# 8. Utiliza un bucle for para iterar de 0 a 100
# e imprime solo los números impares.
for i in range(1, 101, 2):
print(i)

View File

@ -0,0 +1,25 @@
"""
02_bucles.py
"""
# Ejercicios: Nivel 2
# 1. Utiliza un bucle for para iterar de 0 a 100
# e imprime la suma de todos los números.
suma_total = 0
for i in range(101):
suma_total += i
print(f'La suma de todos los números es {suma_total}.')
# 2. Utiliza un bucle for para iterar de 0 a 100
# e imprime la suma de todos los números pares
# y la suma de todos los números impares.
suma_pares = 0
suma_impares = 0
for i in range(101):
if i % 2 == 0:
suma_pares += i
else:
suma_impares += i
print(
f'La suma de todos los números pares es {suma_pares}. \nLa suma de todos los números impares es {suma_impares}.')

View File

@ -0,0 +1,60 @@
"""
03_bucles.py
"""
# Ejercicios: Nivel 3
import os
import sys
import json
import countries
# 1. Ve a la carpeta de datos y utiliza el archivo countries.py.
# Recorre los países y extrae todos los países
# que contienen la palabra "land".
sys.path.append(os.path.join(os.getcwd(), 'data'))
for country in countries.countries:
if 'land' in country:
print(country)
# 2. Esta es una lista de frutas: `['banana', 'naranja', 'mango', 'limón']`.
# Invierte el orden utilizando un bucle.
frutas = ['banana', 'naranja', 'mango', 'limón']
for i in range(len(frutas) - 1, -1, -1):
print(frutas[i])
# 3. Ve a la carpeta de datos y utiliza el archivo countries_data.py.
with open(os.path.join('data', 'countries_data.json')) as f:
countries_data = json.load(f)
# ¿Cuál es el número total de idiomas en los datos?
idiomas = set()
for country in countries_data:
for language in country['languages']:
idiomas.add(language)
print(f'El número total de idiomas en los datos es {len(idiomas)}.')
# Encuentra los diez idiomas más hablados en los datos.
idiomas_hablados = {}
for country in countries_data:
for language in country['languages']:
if language in idiomas_hablados:
idiomas_hablados[language] += country['population']
else:
idiomas_hablados[language] = country['population']
idiomas_top_10 = sorted(idiomas_hablados.items(),
key=lambda x: x[1], reverse=True)[:10]
print('Los diez idiomas más hablados en los datos son:')
for idioma, poblacion in idiomas_top_10:
print(f'{idioma}: {poblacion}')
# Encuentra los 10 países más poblados del mundo.
paises_top_10 = sorted(
countries_data, key=lambda x: x['population'], reverse=True)[:10]
print('Los diez países más poblados del mundo son:')
for pais in paises_top_10:
print(f"{pais['name']}: {pais['population']} habitantes.")

View File

@ -57,6 +57,8 @@ Documento original en inglés: [Loops](https://github.com/Asabeneh/30-Days-Of-Py
8. Utiliza un bucle for para iterar de 0 a 100 e imprime solo los números impares. 8. Utiliza un bucle for para iterar de 0 a 100 e imprime solo los números impares.
[Solución](01_bucles.py)
## Ejercicios: Nivel 2 ## Ejercicios: Nivel 2
1. Utiliza un bucle for para iterar de 0 a 100 e imprime la suma de todos los números. 1. Utiliza un bucle for para iterar de 0 a 100 e imprime la suma de todos los números.
@ -69,6 +71,8 @@ La suma de todos los números es 5050.
La suma de todos los números pares es 2550. Y la suma de todos los números impares es 2500. La suma de todos los números pares es 2550. Y la suma de todos los números impares es 2500.
``` ```
[Solución](02_bucles.py)
## Ejercicios: Nivel 3 ## Ejercicios: Nivel 3
1. Ve a la carpeta de datos y utiliza el archivo countries.py. Recorre los países y extrae todos los países que contienen la palabra "land". 1. Ve a la carpeta de datos y utiliza el archivo countries.py. Recorre los países y extrae todos los países que contienen la palabra "land".
@ -79,3 +83,5 @@ La suma de todos los números pares es 2550. Y la suma de todos los números imp
- ¿Cuál es el número total de idiomas en los datos? - ¿Cuál es el número total de idiomas en los datos?
- Encuentra los diez idiomas más hablados en los datos. - Encuentra los diez idiomas más hablados en los datos.
- Encuentra los 10 países más poblados del mundo. - Encuentra los 10 países más poblados del mundo.
[Solución](03_bucles.py)

View File

@ -0,0 +1,195 @@
countries = [
'Afghanistan',
'Albania',
'Algeria',
'Andorra',
'Angola',
'Antigua and Barbuda',
'Argentina',
'Armenia',
'Australia',
'Austria',
'Azerbaijan',
'Bahamas',
'Bahrain',
'Bangladesh',
'Barbados',
'Belarus',
'Belgium',
'Belize',
'Benin',
'Bhutan',
'Bolivia',
'Bosnia and Herzegovina',
'Botswana',
'Brazil',
'Brunei',
'Bulgaria',
'Burkina Faso',
'Burundi',
'Cambodia',
'Cameroon',
'Canada',
'Cape Verde',
'Central African Republic',
'Chad',
'Chile',
'China',
'Colombi',
'Comoros',
'Congo (Brazzaville)',
'Congo',
'Costa Rica',
"Cote d'Ivoire",
'Croatia',
'Cuba',
'Cyprus',
'Czech Republic',
'Denmark',
'Djibouti',
'Dominica',
'Dominican Republic',
'East Timor (Timor Timur)',
'Ecuador',
'Egypt',
'El Salvador',
'Equatorial Guinea',
'Eritrea',
'Estonia',
'Ethiopia',
'Fiji',
'Finland',
'France',
'Gabon',
'Gambia, The',
'Georgia',
'Germany',
'Ghana',
'Greece',
'Grenada',
'Guatemala',
'Guinea',
'Guinea-Bissau',
'Guyana',
'Haiti',
'Honduras',
'Hungary',
'Iceland',
'India',
'Indonesia',
'Iran',
'Iraq',
'Ireland',
'Israel',
'Italy',
'Jamaica',
'Japan',
'Jordan',
'Kazakhstan',
'Kenya',
'Kiribati',
'Korea, North',
'Korea, South',
'Kuwait',
'Kyrgyzstan',
'Laos',
'Latvia',
'Lebanon',
'Lesotho',
'Liberia',
'Libya',
'Liechtenstein',
'Lithuania',
'Luxembourg',
'Macedonia',
'Madagascar',
'Malawi',
'Malaysia',
'Maldives',
'Mali',
'Malta',
'Marshall Islands',
'Mauritania',
'Mauritius',
'Mexico',
'Micronesia',
'Moldova',
'Monaco',
'Mongolia',
'Morocco',
'Mozambique',
'Myanmar',
'Namibia',
'Nauru',
'Nepal',
'Netherlands',
'New Zealand',
'Nicaragua',
'Niger',
'Nigeria',
'Norway',
'Oman',
'Pakistan',
'Palau',
'Panama',
'Papua New Guinea',
'Paraguay',
'Peru',
'Philippines',
'Poland',
'Portugal',
'Qatar',
'Romania',
'Russia',
'Rwanda',
'Saint Kitts and Nevis',
'Saint Lucia',
'Saint Vincent',
'Samoa',
'San Marino',
'Sao Tome and Principe',
'Saudi Arabia',
'Senegal',
'Serbia and Montenegro',
'Seychelles',
'Sierra Leone',
'Singapore',
'Slovakia',
'Slovenia',
'Solomon Islands',
'Somalia',
'South Africa',
'Spain',
'Sri Lanka',
'Sudan',
'Suriname',
'Swaziland',
'Sweden',
'Switzerland',
'Syria',
'Taiwan',
'Tajikistan',
'Tanzania',
'Thailand',
'Togo',
'Tonga',
'Trinidad and Tobago',
'Tunisia',
'Turkey',
'Turkmenistan',
'Tuvalu',
'Uganda',
'Ukraine',
'United Arab Emirates',
'United Kingdom',
'United States',
'Uruguay',
'Uzbekistan',
'Vanuatu',
'Vatican City',
'Venezuela',
'Vietnam',
'Yemen',
'Zambia',
'Zimbabwe',
];

View File

@ -0,0 +1,195 @@
countries = [
'Afghanistan',
'Albania',
'Algeria',
'Andorra',
'Angola',
'Antigua and Barbuda',
'Argentina',
'Armenia',
'Australia',
'Austria',
'Azerbaijan',
'Bahamas',
'Bahrain',
'Bangladesh',
'Barbados',
'Belarus',
'Belgium',
'Belize',
'Benin',
'Bhutan',
'Bolivia',
'Bosnia and Herzegovina',
'Botswana',
'Brazil',
'Brunei',
'Bulgaria',
'Burkina Faso',
'Burundi',
'Cambodia',
'Cameroon',
'Canada',
'Cape Verde',
'Central African Republic',
'Chad',
'Chile',
'China',
'Colombi',
'Comoros',
'Congo (Brazzaville)',
'Congo',
'Costa Rica',
"Cote d'Ivoire",
'Croatia',
'Cuba',
'Cyprus',
'Czech Republic',
'Denmark',
'Djibouti',
'Dominica',
'Dominican Republic',
'East Timor (Timor Timur)',
'Ecuador',
'Egypt',
'El Salvador',
'Equatorial Guinea',
'Eritrea',
'Estonia',
'Ethiopia',
'Fiji',
'Finland',
'France',
'Gabon',
'Gambia, The',
'Georgia',
'Germany',
'Ghana',
'Greece',
'Grenada',
'Guatemala',
'Guinea',
'Guinea-Bissau',
'Guyana',
'Haiti',
'Honduras',
'Hungary',
'Iceland',
'India',
'Indonesia',
'Iran',
'Iraq',
'Ireland',
'Israel',
'Italy',
'Jamaica',
'Japan',
'Jordan',
'Kazakhstan',
'Kenya',
'Kiribati',
'Korea, North',
'Korea, South',
'Kuwait',
'Kyrgyzstan',
'Laos',
'Latvia',
'Lebanon',
'Lesotho',
'Liberia',
'Libya',
'Liechtenstein',
'Lithuania',
'Luxembourg',
'Macedonia',
'Madagascar',
'Malawi',
'Malaysia',
'Maldives',
'Mali',
'Malta',
'Marshall Islands',
'Mauritania',
'Mauritius',
'Mexico',
'Micronesia',
'Moldova',
'Monaco',
'Mongolia',
'Morocco',
'Mozambique',
'Myanmar',
'Namibia',
'Nauru',
'Nepal',
'Netherlands',
'New Zealand',
'Nicaragua',
'Niger',
'Nigeria',
'Norway',
'Oman',
'Pakistan',
'Palau',
'Panama',
'Papua New Guinea',
'Paraguay',
'Peru',
'Philippines',
'Poland',
'Portugal',
'Qatar',
'Romania',
'Russia',
'Rwanda',
'Saint Kitts and Nevis',
'Saint Lucia',
'Saint Vincent',
'Samoa',
'San Marino',
'Sao Tome and Principe',
'Saudi Arabia',
'Senegal',
'Serbia and Montenegro',
'Seychelles',
'Sierra Leone',
'Singapore',
'Slovakia',
'Slovenia',
'Solomon Islands',
'Somalia',
'South Africa',
'Spain',
'Sri Lanka',
'Sudan',
'Suriname',
'Swaziland',
'Sweden',
'Switzerland',
'Syria',
'Taiwan',
'Tajikistan',
'Tanzania',
'Thailand',
'Togo',
'Tonga',
'Trinidad and Tobago',
'Tunisia',
'Turkey',
'Turkmenistan',
'Tuvalu',
'Uganda',
'Ukraine',
'United Arab Emirates',
'United Kingdom',
'United States',
'Uruguay',
'Uzbekistan',
'Vanuatu',
'Vatican City',
'Venezuela',
'Vietnam',
'Yemen',
'Zambia',
'Zimbabwe',
];

File diff suppressed because it is too large Load Diff