Add exercises 10
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
7ea10164ef
commit
741f07dd9d
55
30-days-of-python/10_Bucles/01_bucles.py
Normal file
55
30-days-of-python/10_Bucles/01_bucles.py
Normal 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)
|
25
30-days-of-python/10_Bucles/02_bucles.py
Normal file
25
30-days-of-python/10_Bucles/02_bucles.py
Normal 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}.')
|
60
30-days-of-python/10_Bucles/03_bucles.py
Normal file
60
30-days-of-python/10_Bucles/03_bucles.py
Normal 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.")
|
@ -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.
|
||||
|
||||
[Solución](01_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.
|
||||
@ -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.
|
||||
```
|
||||
|
||||
[Solución](02_bucles.py)
|
||||
|
||||
## 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".
|
||||
@ -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?
|
||||
- Encuentra los diez idiomas más hablados en los datos.
|
||||
- Encuentra los 10 países más poblados del mundo.
|
||||
|
||||
[Solución](03_bucles.py)
|
||||
|
195
30-days-of-python/10_Bucles/countries.py
Normal file
195
30-days-of-python/10_Bucles/countries.py
Normal 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',
|
||||
];
|
195
30-days-of-python/10_Bucles/data/countries.py
Normal file
195
30-days-of-python/10_Bucles/data/countries.py
Normal 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',
|
||||
];
|
2620
30-days-of-python/10_Bucles/data/countries_data.json
Normal file
2620
30-days-of-python/10_Bucles/data/countries_data.json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user