Skip to content

Commit 7883b6e

Browse files
committed
#3 - Python - Extra - Dkp
1 parent 553ebc7 commit 7883b6e

File tree

1 file changed

+76
-0
lines changed
  • Roadmap/03 - ESTRUCTURAS DE DATOS/python

1 file changed

+76
-0
lines changed

Roadmap/03 - ESTRUCTURAS DE DATOS/python/Dkp-Dev.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,79 @@
8181
print(type(mi_dict))
8282
print(mi_dict)
8383

84+
"""
85+
DIFICULTAD EXTRA (opcional):
86+
* Crea una agenda de contactos por terminal.
87+
* - Debes implementar funcionalidades de búsqueda, inserción, actualización
88+
* y eliminación de contactos.
89+
* - Cada contacto debe tener un nombre y un número de teléfono.
90+
* - El programa solicita en primer lugar cuál es la operación que se quiere realizar,
91+
* y a continuación los datos necesarios para llevarla a cabo.
92+
* - El programa no puede dejar introducir números de teléfono no númericos y con más
93+
* de 11 dígitos (o el número de dígitos que quieras).
94+
* - También se debe proponer una operación de finalización del programa.
95+
"""
96+
97+
# Como la agenda en si misma es una funcion entonces desde el inicio se crea.
98+
99+
100+
def mi_agenda():
101+
102+
agenda = {} # Esta es la agenda como tal
103+
def up_numero(): # Esta es la funcion para añadir/modificar un contacto
104+
numero = input("Introduce numero de contacto:")
105+
if numero.isdigit() and len(numero) > 0 and len(numero) <= 10:
106+
agenda[name] = numero
107+
print("Contacto añadido.")
108+
else:
109+
print("Solo se aceptan numeros de hasta 10 digitos.")
110+
111+
while True: # De esta manera se mantiene la funcion en bucle
112+
113+
# Se inicia imprimiendo el menu
114+
115+
print("")
116+
print("1 - Buscar contacto")
117+
print("2 - Agregar Contacto")
118+
print("3 - Actualizar contacto")
119+
print("4 - Eliminar contactos")
120+
print("5 - Salir")
121+
print("6 - Ver agenda")
122+
123+
option = input("Elige la opcion deseada:") # Input se utiliza para poder interactuar con terminal
124+
125+
match option: # Se puede usar if, elif y else, pero en python existe match
126+
case "1":
127+
name = input("Introduce el nombre de contacto:")
128+
if name in agenda:
129+
print(
130+
f"El numero de {name} es {agenda[name]}")
131+
else:
132+
print(f"El nombre {name} no existe en la agenda.")
133+
case "2":
134+
name = input("Introduce nombre de contacto:")
135+
up_numero()
136+
case "3":
137+
name = input("Introduce el nombre de contacto que desea actualizar:")
138+
if name in agenda:
139+
up_numero()
140+
else:
141+
print(f"El nombre {name} no existe en la agenda.")
142+
143+
case "4":
144+
name = input("Introduce el nombre de contacto que desea eliminar:")
145+
if name in agenda:
146+
del agenda[name]
147+
print("El contacto se ha borrado.")
148+
else:
149+
print(f"El nombre {name} no existe en la agenda.")
150+
case "5":
151+
print("Saliendo")
152+
break
153+
case "6":
154+
print(agenda)
155+
case _:
156+
print("Opcion invalida. Elige del 1 al 6")
157+
158+
159+
mi_agenda()

0 commit comments

Comments
 (0)