Gestor de Contactos en Python

Enlace Patrocinado
Respondent.io es una plataforma en línea que conecta investigadores y empresas con participantes para estudios de mercado y encuestas remuneradas. Su objetivo es facilitar la recopilación de datos cualitativos y cuantitativos mediante entrevistas, encuestas y pruebas de usuario
Respondent.io
Respondent.io es una plataforma en línea que conecta investigadores y empresas con participantes para estudios de mercado y encuestas remuneradas. Su objetivo es facilitar la recopilación de datos cualitativos y cuantitativos mediante entrevistas, encuestas y pruebas de usuarioProyecto 14 de la guia 50 Proyectos de Programacion para Practicar y Aprender. Proyectos para Nivel intermedio
Enunciado del proyecto
Crea un programa para almacenar y administrar una lista de contactos con información como nombre, número de teléfono y correo electrónico.
Gestor de Contactos en Python
Este programa permite almacenar y administrar una lista de contactos con nombre, número de teléfono y correo electrónico. Los datos se guardan en un archivo JSON para conservarse entre ejecuciones.
Código fuente (gestor_contactos.py)
import json
import os
CONTACTOS_FILE = "contactos.json"
def cargar_contactos():
if os.path.exists(CONTACTOS_FILE):
with open(CONTACTOS_FILE, "r") as f:
return json.load(f)
return []
def guardar_contactos(contactos):
with open(CONTACTOS_FILE, "w") as f:
json.dump(contactos, f, indent=4)
def agregar_contacto(contactos):
nombre = input("Nombre: ")
telefono = input("Teléfono: ")
email = input("Correo electrónico: ")
contactos.append({"nombre": nombre, "telefono": telefono, "email": email})
guardar_contactos(contactos)
print("Contacto agregado correctamente.\n")
def listar_contactos(contactos):
if not contactos:
print("No hay contactos.\n")
return
for idx, c in enumerate(contactos, start=1):
print(f"{idx}. {c['nombre']} - {c['telefono']} - {c['email']}")
print()
def buscar_contacto(contactos):
nombre = input("Nombre a buscar: ").lower()
encontrados = [c for c in contactos if nombre in c['nombre'].lower()]
if encontrados:
for c in encontrados:
print(f"{c['nombre']} - {c['telefono']} - {c['email']}")
else:
print("No se encontró el contacto.")
print()
def eliminar_contacto(contactos):
nombre = input("Nombre del contacto a eliminar: ").lower()
nuevos = [c for c in contactos if nombre not in c['nombre'].lower()]
if len(nuevos) != len(contactos):
guardar_contactos(nuevos)
print("Contacto eliminado.\n")
else:
print("No se encontró el contacto.\n")
def menu():
contactos = cargar_contactos()
while True:
print("=== Gestor de Contactos ===")
print("1. Agregar contacto")
print("2. Listar contactos")
print("3. Buscar contacto")
print("4. Eliminar contacto")
print("5. Salir")
opcion = input("Opción: ")
if opcion == "1":
agregar_contacto(contactos)
contactos = cargar_contactos()
elif opcion == "2":
listar_contactos(contactos)
elif opcion == "3":
buscar_contacto(contactos)
elif opcion == "4":
eliminar_contacto(contactos)
contactos = cargar_contactos()
elif opcion == "5":
print("¡Hasta luego!")
break
else:
print("Opción inválida.\n")
if __name__ == "__main__":
menu()
Indice de la guia de proyectos
Groupon NOVIEMBRE DEALS
Groupon llega con los mejores planes y descuentos para disfrutar al máximo la temporada. 🍂 🎟️ Actividades locales al mejor precio 💆 Bienestar, belleza y relax con descuentazos 🍽️ Restaurantes y experiencias únicas 🛍️ Ofertas exclusivas para ahorrar más 👉#colaboracion #publicidad.Proyecto anterior
PCComponentes Black Friday hasta 60% de descuento #colaboracion #publicidad.