teslariu

agenda con funciones

Nov 22nd, 2022
1,136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.70 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. agenda telefonica
  5. ejercicio propuesto
  6.  
  7. Opciones:
  8. 1. Agregar contacto
  9. 2. Modificar contacto
  10. 3. Consultar numero
  11. 4. Salir
  12.  
  13.  
  14. # supongamos una persona, un telefono
  15. # agenda = {"Juan P":11225, "Ana G":44555}
  16. """
  17.  
  18. agenda = {}
  19.  
  20. ################   funciones   ###########################3##
  21.  
  22. def menu():
  23.     return """
  24.    Opciones:
  25.    ---------------------
  26.    1. Agregar contacto
  27.    2. Modificar numero
  28.    3. Modificar nombre
  29.    ---------------------
  30.    4. Consultar numero
  31.    5. Consultar nombre
  32.    6. Imprimir agenda
  33.    ---------------------
  34.    7. Eliminar contacto
  35.        
  36.    8. Salir
  37.    """
  38.  
  39.  
  40. def agregar_contacto(agenda):
  41.     nombre = input("Ingrese el nombre del contacto: ")
  42.     numero = input("Ingrese el nro de teléfono: ")
  43.     agenda[nombre] = numero
  44.     return "Contacto agregado"
  45.  
  46.    
  47.    
  48. def modificar_numero(agenda):
  49.     nombre = input("Ingrese el nombre del contacto: ")
  50.     nombres = list(agenda.keys())
  51.     if nombre in nombres:
  52.         numero = input("Ingrese el nuevo nro de teléfono: ")
  53.         agenda[nombre] = numero
  54.         return "Numero modificado"
  55.     else:
  56.         return f"No existe el nombre {nombre}"
  57.  
  58.  
  59. def modificar_nombre(agenda):
  60.     numero = input("Ingrese el numero del contacto: ")
  61.     # borro el par nombre-viejo:numero
  62.     borrado = False
  63.     for k,v in agenda.items():
  64.         if v == numero:
  65.             del agenda[k]
  66.             borrado = True
  67.             break
  68.     if borrado:
  69.         nombre = input("Ingrese el nuevo nombre del contacto: ")
  70.         agenda[nombre] = numero
  71.         return "Nombre modificado"
  72.     else:
  73.         return f"No existe el numero {numero}"
  74.    
  75.  
  76. def consultar_numero(agenda):
  77.     nombre = input("Ingrese el nombre del contacto: ")
  78.     nombres = list(agenda.keys())
  79.     if nombre in nombres:
  80.         return f"Teléfono: {agenda.get(nombre)}"
  81.     else:
  82.         return f"No existe el contacto {nombre}"
  83.            
  84.    
  85.    
  86. def consultar_nombre(agenda):
  87.     numero = input("Ingrese el numero del contacto: ")
  88.     hallado = False
  89.     for k,v in agenda.items():
  90.         if v == numero:
  91.             return f"Nombre: {k}"
  92.             hallado = True
  93.             break
  94.        
  95.     if not hallado:
  96.         return f"No existe el numero {numero}"
  97.  
  98.    
  99.    
  100. def imprimir(agenda):
  101.     if agenda:
  102.         for k,v in agenda.items():
  103.             print(f"nombre: {k} - telefono: {v}")
  104.     else:
  105.         print("Agenda vacía")
  106.  
  107.  
  108. def eliminar_contacto(agenda):
  109.     nombre = input("Ingrese el nombre del contacto: ")
  110.     nombres = list(agenda.keys())
  111.     if nombre in nombres:
  112.         del agenda[nombre]
  113.         return "Contacto eliminado"
  114.     else:
  115.         return f"No existe el contacto {nombre}"
  116.    
  117.  
  118.  
  119.    
  120. ##################################################################    
  121.        
  122. print("Agenda telefónica")
  123.  
  124. while True:
  125.     print(menu())
  126.    
  127.     opcion = input("Ingrese su opción: ")
  128.    
  129.     if opcion == "1":
  130.         print(agregar_contacto(agenda))
  131.        
  132.            
  133.     elif opcion == "2":
  134.         print(modificar_numero(agenda))
  135.            
  136.            
  137.     elif opcion == "3":
  138.         print(modificar_nombre(agenda))
  139.        
  140.            
  141.     elif opcion == "4":
  142.         print(consultar_numero(agenda))
  143.    
  144.        
  145.     elif opcion == "5":
  146.         print(consultar_nombre(agenda))
  147.        
  148.        
  149.     elif opcion == "6":
  150.         imprimir(agenda)
  151.                
  152.            
  153.     elif opcion == "7":
  154.         print(eliminar_contacto(agenda))
  155.        
  156.          
  157.    
  158.     elif opcion == "8":
  159.         print("Adiós...")
  160.         break
  161.    
  162.    
  163.     else:
  164.         print("Opción incorrecta...")
  165.  
  166.  
Advertisement
Add Comment
Please, Sign In to add comment