Contenido del Curso
Introducción a Python
Introducción a Python
Modificación de Funciones
Volvamos al ejemplo con la información sobre los países. Qué ocurre si el parámetro name
no se encuentra en los datos?
# Data countries_dict = {'USA': (9629091, 331002651), 'Canada': (9984670, 37742154), 'Germany': (357114, 83783942), 'Brazil': (8515767, 212559417), 'India': (3166391, 1380004385)} # Defining a function def country_information(d, name): print('Country:', name) print('Area:', d[name][0], 'sq km') print('Population:', round(d[name][1]/1000000, 2), 'MM') # Testing the function country_information(countries_dict, 'USA') country_information(countries_dict, 'Ukraine')
¿Podemos solucionar este problema? Por supuesto, aplicando sentencias condicionales.
# Data countries_dict = {'USA': (9629091, 331002651), 'Canada': (9984670, 37742154), 'Germany': (357114, 83783942), 'Brazil': (8515767, 212559417), 'India': (3166391, 1380004385)} # Modify our function def country_information_mod(d, name): if name not in d.keys(): print("There is no information about", name) else: print("Country:", name) print("Area:", d[name][0], 'sq km') print("Population:", round(d[name][1]/1000000, 2), 'mln') # Testing the function country_information_mod(countries_dict, "USA") country_information_mod(countries_dict, "Ukraine")
Nota
d.keys()
es un método utilizado con diccionarios que produce una lista de todas las claves del diccionariod
. Aquí, se utiliza para verificar si elname
está presente en las claves del diccionario.
Como se ha demostrado, el mensaje de error en este formato actualizado es más fácil de usar. Aunque hay muchos otros errores potenciales y métodos para manejarlos, están fuera del ámbito de este curso.
¡Gracias por tus comentarios!