1+ # Listas
2+ print ("\n Listas" )
3+ my_list = [1 ,3 ,7 ,5 ,8 ,2 ,0 ]
4+ print (my_list )
5+ print (type (my_list ))
6+ my_list .append (10 ) # insertar
7+ print (my_list )
8+ my_list .remove (5 ) # eliminar
9+ print (my_list )
10+ my_list [2 ] = 4 # acceder y actualizar
11+ print (my_list )
12+ my_list .sort () # ordenar
13+ print (my_list )
14+
15+ # Tuplas (no modificables)
16+ print ("\n Tuplas" )
17+ my_tuple = ("Ainara" , "ainaragmt" , "Python" )
18+ print (my_tuple )
19+ print (type (my_tuple ))
20+ print (my_tuple [1 ]) # acceder
21+ my_tuple = tuple (sorted (my_tuple )) # ordenar una tupla
22+ print (my_tuple )
23+
24+ # Sets (estructura desordenada)
25+ print ("\n Sets" )
26+ my_set = {"Ainara" , "ainaragmt" , "Python" }
27+ print (my_set )
28+ print (type (my_set ))
29+ my_set .add ("ainaragmt@gmail.com" ) # insertar
30+ print (my_set )
31+ my_set .add ("ainaragmt@gmail.com" ) # no se vuelve a insertar (no hay datos duplicados)
32+ print (my_set )
33+ my_set .remove ("Python" ) # eliminar
34+ print (my_set )
35+ # my_set.update() sirve para concatenar más datos
36+ # si queremos actualizar algún dato lo mejor es eliminarlo y insertarlo
37+
38+ # Diccionario
39+ print ("\n Diccionario" )
40+ my_dict = {
41+ 1 : {"name" : "Ainara" , "number" : 1 },
42+ 3 : {"name" : "Marta" , "number" : 2 },
43+ 2 : {"name" : "Lucía" , "number" : 3 }
44+ }
45+ print (my_dict )
46+ print (my_dict [1 ])
47+ print (type (my_dict ))
48+ del my_dict [1 ] # eliminar
49+ print (my_dict )
50+ my_dict = dict (sorted (my_dict .items ())) # ordenar
51+ print (my_dict )
52+
53+ '''
54+ * Crea una agenda de contactos por terminal.
55+ * - Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
56+ * - Cada contacto debe tener un nombre y un número de teléfono.
57+ * - El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
58+ * los datos necesarios para llevarla a cabo.
59+ * - El programa no puede dejar introducir números de teléfono no numéricos y con más de 11 dígitos.
60+ * (o el número de dígitos que quieras)
61+ * - También se debe proponer una operación de finalización del programa.
62+ '''
63+ print ("\n Ejercicio de dificultad extra" ) # idea: crear una función
64+
65+ salir = 0
66+ agenda = {
67+ "Ainara" : 1234
68+ }
69+
70+ while salir == 0 :
71+ print (f"\n Agenda: { agenda } \n " )
72+
73+ # idea: match + case
74+ x = int (input ("Elige la función que desees y pulsa enter: \n 1. Buscar contacto\n 2. Insertar contacto\n 3. Actualizar contacto\n 4. Eliminar contacto\n 5. Salir\n " ))
75+ while x != 1 and x != 2 and x != 3 and x != 4 and x != 5 :
76+ print ("\n El número elegido no existe.\n " )
77+ x = int (input ("¿Qué quieres hacer? \n 1. Buscar contacto\n 2. Insertar contacto\n 3. Actualizar contacto\n 4. Eliminar contacto\n " ))
78+ print (x )
79+
80+ if x == 5 :
81+ salir = 1
82+
83+ elif x == 1 :
84+ nombre = str (input ("\n Escribe el nombre del contacto que quieres buscar: " ))
85+ if nombre in agenda :
86+ print (f"El número de { nombre } es { str (agenda [nombre ])} " )
87+ else :
88+ print (f"{ nombre } no está en la lista." )
89+
90+ elif x == 2 :
91+ nombre = input ("\n Escribe el nombre del contacto que quieres añadir: " )
92+ numero_str = input ("Escribe el número del contacto que quieres añadir: " )
93+ # idea: numero.isdigit()
94+ try :
95+ numero_int = int (numero_str )
96+ if len (numero_str ) > 11 :
97+ print ("Error: Número con más de 11 dígitos.\n " )
98+ else :
99+ agenda [nombre ] = numero_int
100+ print ("\n Contacto añadido:" )
101+ except ValueError :
102+ print ("Error: Número no numérico.\n " )
103+
104+ elif x == 3 :
105+ # idea: codigo repetido del case 2 -> crear una función común
106+ nombre = input ("\n Escribe el nombre del contacto que quieres actualizar: " )
107+ if nombre not in agenda :
108+ print ("El contacto no está en la agenda\n " )
109+ else :
110+ numero_str = input ("Escribe el número del contacto que quieres actualizar: " )
111+ try :
112+ numero_int = int (numero_str )
113+ if len (numero_str ) > 11 :
114+ print ("Error: Número con más de 11 dígitos.\n " )
115+ else :
116+ agenda [nombre ] = numero_int
117+ print ("\n Contacto actualizado:" )
118+ except ValueError :
119+ print ("Error: Número no numérico.\n " )
120+
121+ elif x == 4 :
122+ nombre = str (input ("\n Escribe el nombre del contacto que quieres eliminar: " ))
123+ if nombre not in agenda :
124+ print ("El contacto no está en la agenda\n " )
125+ else :
126+ del agenda [nombre ]
0 commit comments