El día de hoy vamos a resolver un ejercicio de programación en Python. Se trata de un programa que gestiona provincias y distritos usando colecciones; específicamente en este caso vamos a usar diccionarios.
El programa solicita lo siguiente:
Elaborar una aplicación de línea de comandos en Python cuyo propósito sea gestionar todas las provincias de un país, junto con sus respectivos distritos. Deben utilizar colecciones para lograrlo. La aplicación deberá permitir la consulta bajo el nombre de una provincia, y de ahí, poder mostrar todos sus distritos. Es importante que el programa no falle por ninguna excepción o error.
Veamos cómo resolver esto usando el lenguaje de programación Python.
Vamos a usar un diccionario, por lo que debemos recordar que un diccionario guarda claves y valores. La clave en este caso será la provincia, y el valor será un arreglo de distritos.
De este modo vamos a poder acceder a los distritos usando simplemente el nombre de la provincia, y también determinar si la provincia existe.
Comenzamos declarando el diccionario que en este caso será global, y una función que va a registrar tanto la provincia como el distrito.
Si la provincia no existe, la registramos por primera vez. Para ello usamos el operador in
en Python, y también algún if
.
provincias = {}
def agregar_distrito_provincia(distrito, provincia):
global provincias
if not provincia in provincias:
provincias[provincia] = []
provincias[provincia].append(distrito)
Sin importar si la provincia existe, simplemente agregamos un elemento al arreglo. Pues en la línea 6 comprobamos si la provincia no existe para declarar su valor como un arreglo vacío.
Ahora vamos a ver el siguiente requerimiento, que es imprimir los distritos que pertenecen a determinada provincia a partir del nombre de ésta última. El código queda así:
def imprimir_distritos_de_provincia(provincia):
if not provincia in provincias:
print("No hay distritos registrados")
return
print("Los distritos de " + provincia + " son: ")
for distrito in provincias[provincia]:
print(distrito)
En la línea 2 comprobamos si la provincia no existe, en ese caso imprimimos el mensaje y regresamos de la función. En el caso contrario, imprimimos los distritos.
Lo que falta ahora es un menú para que el usuario pueda gestionar estos datos a través del diccionario que le vamos a proporcionar. El código completo por lo tanto queda así:
"""
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
____________________________________
/ Si necesitas ayuda, contáctame en \
\ https://parzibyte.me /
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Creado por Parzibyte (https://parzibyte.me). Este encabezado debe mantenerse intacto,
excepto si este es un proyecto de un estudiante.
"""
provincias = {}
def agregar_distrito_provincia(distrito, provincia):
global provincias
if not provincia in provincias:
provincias[provincia] = []
provincias[provincia].append(distrito)
def imprimir_distritos_de_provincia(provincia):
if not provincia in provincias:
print("No hay distritos registrados")
return
print("Los distritos de " + provincia + " son: ")
for distrito in provincias[provincia]:
print(distrito)
eleccion = ""
while eleccion != "3":
eleccion = input("""
1. Agregar distrito
2. Mostrar distritos de provincia
3. Salir
Seleccione: """)
if eleccion == "1":
distrito = input("Ingrese el distrito: ")
provincia = input("Ingrese la provincia al que pertenece: ")
agregar_distrito_provincia(distrito, provincia)
print("Agregado")
elif eleccion == "2":
provincia = input("Ingrese la provincia: ")
imprimir_distritos_de_provincia(provincia)
Yo lo probé y en mi caso luce así:
Así es como terminamos de resolver este ejercicio de programación.
Leer más sobre Python en mi blog.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.