Curso-lenguaje-python/30-days-of-python/11_Funciones/03_funcion.py

134 lines
3.3 KiB
Python
Raw Normal View History

"""
03_funcion.py
"""
import countries_data
# Ejercicios: Nivel 3
# 1. Escribe una función llamada is_prime
# que compruebe si un número es primo.
def is_prime(num):
if num <= 1:
return "No"
elif num == 2:
return ""
elif num % 2 == 0:
return "No"
else:
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0:
return "No"
return ""
numero_primo = 19
print(f"¿El número {numero_primo} es primo? {is_prime(numero_primo)}")
# 2. Escribe una función que compruebe
# si todos los elementos de una lista son únicos.
def are_elements_unique(my_list):
if len(my_list) == len(set(my_list)):
return ""
else:
return "No"
lista_elementos = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(
f"¿Los elementos de la lista {lista_elementos} son únicos? {are_elements_unique(lista_elementos)}")
# 3. Escribe una función que compruebe
# si todos los elementos de una lista
# son del mismo tipo de dato.
def are_elements_same_type(my_list):
first_type = type(my_list[0])
if not my_list:
return "Esto no es una lista."
elif all(isinstance(x, first_type) for x in my_list):
return ""
else:
return "No"
print(
f"¿Los elementos de la lista {lista_elementos} son del mismo tipo de dato? {are_elements_same_type(lista_elementos)}")
# 4. Escribe una función que compruebe
# si una variable proporcionada
# es una variable válida en Python.
def is_valid_variable_name(variable_name):
try:
exec(f"{variable_name} = None")
del locals()[variable_name]
return ""
except:
return "No"
print(
f"¿La variable 'variable_name' es válida? {is_valid_variable_name('variable_name')}")
# 5. Ve a la carpeta de datos
# y accede al archivo countries-data.py.
# Crea una función llamada
# most_spoken_languages_in_the_world.
# Debe devolver las 10 o 20 lenguas
# más habladas 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.
# Suponiendo que los datos están almacenados
# en una lista llamada "countries_data".
# Función para obtener las lenguas
# más habladas en el mundo.
def most_spoken_languages_in_the_world():
all_languages = []
for country in countries_data.countries_data:
all_languages.extend(country['languages'])
language_count = {}
for language in all_languages:
if language in language_count:
language_count[language] += 1
else:
language_count[language] = 1
sorted_languages = sorted(language_count.items(),
key=lambda x: x[1],
reverse=True)[:10]
language_list = [f"{i+1}. {language[0]}" for i,
language in enumerate(sorted_languages)]
return "\n".join(language_list)
print(most_spoken_languages_in_the_world())
# Función para obtener los países
# más poblados en el mundo.
def most_populated_countries():
sorted_countries = sorted(
countries_data.countries_data, key=lambda x: x['population'], reverse=True)[:10]
country_list = [f"{i+1}. {country['name']}" for i,
country in enumerate(sorted_countries)]
return "\n".join(country_list)
print(most_populated_countries())