Advertisement
teslariu

dicc - agenda

Dec 9th, 2021
728
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. Diccionario: es una colección mutable (se puede modificar) y desordenada
  6. (no tiene índices). Cada elemento del diccionario es puede buscar a partir
  7. de otro llamado clave. Entonces, los diccionarios están compuestos por
  8. PARES DE DATOS LLAMADOS <CLAVE>:<VALOR>
  9.  
  10. a) LAS CLAVES SON UNICAS; NO SE PUEDEN REPETIR
  11. b) LOS VALORES SE PUEDEN REPETIR
  12. c) SE PUEDEN MEZCLAR CUALQUIER TIPO DE DATOS
  13. D) EXISTEN RESTRICCIONES PARA EL TIPO DE DATO DE LA CLAVE.....(CONVIENE str)
  14.  
  15. # diccionario vacío:
  16. d = {}
  17.  
  18. # diccionario con datos
  19. diccionario = {"blanco":"white", "marron":"brown", "rojo":"red"}
  20. print(diccionario)
  21.  
  22. # la cantidad de elementos de una colección se obtiene con len
  23. print(len(diccionario))
  24.  
  25. # para agregar un elemento (par clave-valor), como el dicc no es ordenado,
  26. # siempre se agrega al final
  27. # agregamos el par gato:cat
  28. diccionario["gato"] = "cat" # dicc[clave] = valor
  29. print(diccionario)
  30.  
  31. # para eliminar un elemento, por ejemplo, "marron":"brown"
  32. del diccionario["marron"]
  33. print(diccionario)
  34.  
  35. # si intento agregar otro par con una clave existente, se sobreescribe
  36. diccionario["gato"] = "kittie"
  37. print(diccionario)
  38.  
  39. # si intento agregar otro par con un valor existente, lo agrega
  40. diccionario["colorado"] = "red"
  41. print(diccionario)
  42.  
  43. # METODOS DE DICCIONARIO
  44. # Para vaciar un diccionario
  45. # diccionario.clear()
  46. print(diccionario)
  47.  
  48. # para crear una lista de valores
  49. valores = list(diccionario.values())
  50. print(valores)
  51.  
  52. # para crear una lista de claves
  53. claves = list(diccionario.keys())
  54. print(claves)
  55.  
  56. # para imprimir un diccionario:
  57. print("\nDiccionario")
  58. for clave, valor in diccionario.items():
  59.     print(clave, valor)
  60.  
  61. """
  62. # Ejemplo: script que administra una agenda telefónica
  63.  
  64. # Estructura de almacenamiento de datos
  65. # agenda = {2122:"Juan", 546456:"Pepe", 45456:"Pepe"} * se recomienda
  66. # agenda = {"Juan":2122, "Pepe":[546456, 45456]}
  67.  
  68. agenda = {}
  69.  
  70. print("Agenda telefónica")
  71.  
  72. while True:
  73.     print(
  74.     """
  75.     Menu de opciones:
  76.     -----------------
  77.     1. Añadir contacto
  78.     2. Consultar contacto x nombre
  79.     3. Imprimir agenda
  80.     4. Modificar numero
  81.     5. Modificar nombre
  82.     6. Salir   
  83.     """)
  84.     opcion = input("Seleccione una opción: ")
  85.    
  86.     if opcion == "1":
  87.         nombre = input("Ingrese el nombre: ")
  88.         tel = input("Ingrese el nro telefónico: ")
  89.         agenda[tel] = nombre
  90.          
  91.    
  92.     elif opcion == "2":
  93.         nombre = input("Ingrese el nombre: ")
  94.         lista_de_nombres = list(agenda.values())
  95.         lista_de_telefonos = list(agenda.keys())
  96.         if nombre in lista_de_nombres:
  97.             indice = lista_de_nombres.index(nombre)
  98.             tel = lista_de_telefonos[indice]
  99.             print(f"Nro de {nombre}: {tel}")
  100.         else:
  101.             print(f"No se encontró a {nombre} en la agenda")
  102.            
  103.        
  104.        
  105.     elif opcion == "3":
  106.         if agenda:
  107.             for clave, valor in agenda.items():
  108.                 print(clave, valor)
  109.         else:
  110.             print("Agenda vacía")
  111.        
  112.        
  113.     elif opcion == "4":
  114.         nombre = input("Ingrese el nombre: ")
  115.         # creo una lista de nombres y una de numeros
  116.         lista_de_nombres = list(agenda.values())
  117.         lista_de_telefonos = list(agenda.keys())
  118.         # busco el nombre en la agenda
  119.         if nombre in lista_de_nombres:
  120.             indice = lista_de_nombres.index(nombre)
  121.             tel = lista_de_telefonos[indice]
  122.             # borro el numero viejo con el método remove
  123.             agenda.pop(tel)
  124.             # pido el nuevo numero         
  125.             numero_nuevo = input("Ingrese el nuevo nro telefónico: ")
  126.             # lo agrego a la agenda
  127.             agenda[numero_nuevo] = nombre
  128.         else:
  129.             print(f"No se encontró a {nombre} en la agenda")
  130.        
  131.        
  132.     elif opcion == "5":
  133.         nombre = input("Ingrese el nombre: ")
  134.         # creo una lista de nombres y una de numeros
  135.         lista_de_nombres = list(agenda.values())
  136.         lista_de_telefonos = list(agenda.keys())
  137.         # busco el nombre en la agenda
  138.         if nombre in lista_de_nombres:
  139.             indice = lista_de_nombres.index(nombre)
  140.             tel = lista_de_telefonos[indice]
  141.             # pido el nuevo nombre         
  142.             nuevo_nombre = input("Ingrese el nuevo nombre: ")
  143.             # lo agrego a la agenda
  144.             agenda[tel] = nuevo_nombre
  145.         else:
  146.             print(f"No se encontró a {nombre} en la agenda")
  147.    
  148.        
  149.        
  150.     elif opcion == "6":
  151.         print("Hasta luego...")
  152.         break
  153.        
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement