Curso-lenguaje-python/30-days-of-python/10_Bucles/03_bucles.py
Manuel Vergara 741f07dd9d Add exercises 10
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
2023-09-23 01:06:12 +02:00

61 lines
1.9 KiB
Python

"""
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.")