Estructura de Datos en Python: Lógica de Programación #7

Hola a todos. En este artículo, exploraremos cómo gestionar una lista de contactos utilizando diccionarios en Python. Este ejemplo práctico te ayudará a entender cómo manejar y manipular datos. Este es el ejercicio número 7 de nuestra serie semanal sobre lógica de programación en Python.
Los diccionarios en Python son estructuras de datos muy útiles para almacenar pares clave-valor. En este caso, usaremos diccionarios para crear una agenda de contactos, donde los nombres serán las claves y los números de teléfono serán los valores.
Definición de las Funciónes
Python
def add_contact(contact_list, name, phone):
Esta línea define una función llamada add_contact que toma tres parámetros: contact_list (la lista de contactos), name (el nombre del contacto) y phone (el número de teléfono del contacto).
Python
if not phone.isdigit():
print(f"Warning: The phone number for {name} is invalid. It should contain only digits.")
return contact_list
Utilizamos el método isdigit() para verificar si el número de teléfono contiene solo dígitos. Si no es así, se imprime una advertencia y la función devuelve la lista de contactos sin agregar el contacto inválido.
Python
contact_list[name] = phone
return contact_list
Si el número de teléfono es válido, se agrega el contacto a la lista y la función devuelve la lista de contactos actualizada.
Python
def remove_contact(contact_list, name):
Esta línea define una función llamada remove_contact que toma dos parámetros: contact_list y name.
Python
if name in contact_list:
del contact_list[name]
return contact_list
La función verifica si el nombre del contacto existe en la lista. Si es así, elimina el contacto del diccionario y devuelve la lista de contactos actualizada.
Python
def show_contacts(contact_list):
Esta línea define una función llamada show_contacts que toma un parámetro: contact_list.
Python
for name, phone in contact_list.items():
print(f"{name}: {phone}")
La función itera a través de todos los elementos en la lista de contactos y los imprime en el formato “nombre: teléfono”.
Python
contacts = {}
Se crea un diccionario vacío llamado contacts para almacenar los contactos.
Python
[add_contact(contacts, name, phone) for name, phone in [("Luke", "123456789"), ("Leia", "987654321"), ("Han", "456123789"), ("Chewbacca", "GRR GRRR GRRRRRR GR m"), ("Yoda", "987*654")]]
Esta es una lista de comprensión, una forma de crear listas. En este caso, estamos utilizando la lista de comprensión para ejecutar la función add_contact para cada par de name (nombre) y phone (teléfono) en una lista de tuplas. Normalmente, una lista de comprensión se usa para generar una lista de valores, pero aquí la usamos para ejecutar una función repetidamente.
Python
for name, phone in
Este es un bucle for que itera sobre cada tupla en la lista de contactos. Durante cada iteración, descomponemos la tupla en dos variables: name y phone. Esto significa que en cada iteración del bucle, name tendrá el valor del nombre del contacto y phone tendrá el valor del número de teléfono.
Python
[("Luke", "123456789"), ("Leia", "987654321"), ("Han", "456123789"), ("Chewbacca", "GRRR GRR GRRRRRR GR m"), ("Yoda", "987*654")]
Esta es una lista de tuplas, donde cada tupla contiene un par de valores: el nombre de un contacto y su número de teléfono. En este ejemplo, tenemos cinco tuplas, cada una representando un contacto diferente.
Python
contacts = remove_contact(contacts, "Luke")
Se llama a la función remove_contact para eliminar a “Luke” de la lista de contactos.
Python
show_contacts(contacts)
Finalmente, se llama a la función show_contacts para imprimir todos los contactos restantes en la lista.
Al ejecutar este código, el resultado será:
Python
Warning: The phone number for Chewbacca is invalid. It should contain only digits.
Warning: The phone number for Yoda is invalid. It should contain only digits.
Leia: 987654321
Han: 456123789
Este ejercicio nos ha permitido trabajar con diccionarios en Python para gestionar una lista de contactos. Es una excelente manera de practicar la manipulación de estructuras de datos y la creación de funciones en Python. Si quieres ver el código completo, puedes encontrarlo en mi repositorio de GitHub. No olvides suscribirte al newsletter para recibir más ejercicios y tutoriales.
Lógica de programación:
¡Suscríbete a nuestro newsletter para recibir noticias y artículos cada semana o mes!
¡Mantente al día con las últimas novedades en marketing, desarrollo web y análisis de datos!