Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- ## Ej DIFICIL: hacer un menu que administre una agenda de tel
- ## Un numero unico por cada contacto
- """
- 1. Agregar contacto
- 2. Modificar numero
- 3. Modificar nombre
- 4. Consultar numero
- 5. Consultar nombre
- 6. Imprimir agenda
- 7. Modificar numero
- 8. Salir
- agenda = {"34344":"Kenny", "8868-898":"Ana"}
- """
- agenda = {}
- def borrarPantalla():
- import os
- if os.name == "posix":
- os.system ("clear")
- else:
- os.system ("cls")
- def agregar_contacto():
- global agenda
- nombre = input("Ingrese el nombre: ")
- numero = input("Ingrese el nro de teléfono: ")
- numeros = list(agenda.keys())
- if numero in numeros:
- return "ERROR: Ya existe el número"
- agenda[numero] = nombre
- return "Contacto añadido"
- def modificar_numero():
- global agenda
- nombre = input("Ingrese el nombre: ")
- nombres = list(agenda.values())
- if nombre in nombres:
- # debo borrar antes el nro viejo
- for k,v in agenda.items():
- if v == nombre:
- del(agenda[k]) # borro el nro
- break
- # agrego el nuevo nro
- numero = input("Ingrese el nuevo número: ")
- agenda[numero] = nombre
- return "Numero modificado"
- else:
- return f"No existe el contacto {nombre}"
- def modificar_nombre():
- global agenda
- nombre = input("Ingrese el nombre a modificar: ")
- nombre_nuevo = input("Ingrese el nuevo nombre: ")
- hallado = False
- for k,v in agenda.items():
- if v == nombre:
- agenda[k] = nombre_nuevo
- hallado = True
- if hallado:
- return f"Nombre modificado correctamente"
- else:
- return f"No se encontró el contacto {nombre}"
- def hallar_numero():
- global agenda
- nombre = input("Ingrese el nombre: ")
- for k,v in agenda.items():
- if v == nombre:
- return k
- return f"No se encontró el contacto {nombre}"
- def hallar_nombre():
- global agenda
- numero = input("Ingrese el numero: ")
- for k,v in agenda.items():
- if k == numero:
- return v
- return f"No se encontró el contacto con nro {numero}"
- def imprimir_agenda():
- global agenda
- if agenda:
- for k,v in agenda.items():
- print(k,v)
- else:
- print("Agenda vacía")
- def eliminar_contacto():
- global agenda
- nombre = input("Ingrese el nombre: ")
- nombres = list(agenda.values())
- if nombre in nombres:
- for k,v in agenda.items():
- if v == nombre:
- del(agenda[k]) # borro el nro
- return "Contacto borrado"
- return f"No existe el contacto {nombre}"
- ##########################################################
- titulo = "Agenda telefónica"
- menu_de_opciones = """
- Ingrese el número de la operación que desea ejecutar:
- 1. Agregar contacto 5. Hallar nombre
- 2. Modificar numero 6. Imprimir agenda
- 3. Modificar nombre 7. Eliminar contacto
- 4. Hallar numero 8. Salir
- """
- while True:
- borrarPantalla()
- print(titulo)
- print(menu_de_opciones)
- opcion = input(">>> ")
- if opcion == "1":
- print(agregar_contacto())
- elif opcion == "2":
- print(modificar_numero())
- elif opcion == "3":
- print(modificar_nombre())
- elif opcion == "4":
- print(hallar_numero())
- elif opcion == "5":
- print(hallar_nombre())
- elif opcion == "6":
- imprimir_agenda()
- elif opcion == "7":
- print(eliminar_contacto())
- elif opcion == "8":
- print("Gracias por utilizar este programa...")
- break
- else:
- print("Opción incorrecta")
- input("\nPresione cualquier tecla para continuar")
Advertisement
Add Comment
Please, Sign In to add comment