1
+ """
2
+ Listas
3
+ Son colecciones ordenadas y mutables de elementos
4
+ """
5
+
6
+ # Creacion de listas
7
+ mi_lista = [1 ,2 ,3 ,4 ,5 ]
8
+
9
+ # Inserccion
10
+ mi_lista .append (5 ) # Inserta el numero 5 al final de la lista
11
+ mi_lista .insert (2 , 2.5 ) # Inserta el numero 2.5 en la posicion 2
12
+
13
+ # Borrado
14
+ mi_lista .remove (2.5 ) # Elimina el primer elemento con valor 2.5
15
+ del mi_lista [0 ] # Elimina el elemento en la posicion numero 0
16
+
17
+ # Actualizacion
18
+ mi_lista [1 ] = 10 # Actualiza el elemento en la posicion 1 a 10
19
+
20
+ # Ordenacion
21
+ mi_lista .sort () # Ordena la lista de forma ascendente
22
+ mi_lista .sort (reverse = True ) # Ordena la lista de forma descendente
23
+
24
+ print (mi_lista )
25
+
26
+
27
+ """
28
+ Tuplas
29
+ Son colecciones ordenadas e inmutables de elementos
30
+ Para modificar una tupla, se debe crear una nueva
31
+ """
32
+
33
+ # Creacion
34
+ mi_tupla = (1 ,2 ,3 ,4 ,5 )
35
+
36
+ # Ordenacion
37
+ lista_ordenada = sorted (mi_tupla )
38
+ mi_tupla_ordenada = tuple (lista_ordenada )
39
+ print (mi_tupla_ordenada )
40
+
41
+
42
+ """
43
+ Conjuntos
44
+ Son colecciones no ordenadas y mutables de elementos unicos
45
+ """
46
+
47
+ # Creacion
48
+ mi_conjunto = {1 ,2 ,3 ,4 ,5 }
49
+
50
+ # Inserccion
51
+ mi_conjunto .add (6 ) # Añade un elemento al conjunto
52
+
53
+ # Borrado
54
+ mi_conjunto .remove (2 ) # Elimina el elemento 2 del conjunto
55
+ mi_conjunto .discard (3 ) # Elimina el elemnto 3 si esta presente
56
+
57
+ # Actualizacion
58
+ # Los conjuntos no poseen index por lo cual para actualizar un elemento, primero se debe eliminar y luego añadir el nuvo elemento
59
+
60
+ # Ordenacion
61
+ lista_ordenada = sorted (mi_conjunto ) # Ordena el conjunto y devuelve una lista
62
+ print (mi_conjunto )
63
+
64
+
65
+ """
66
+ Diccionarios
67
+ Son colecciones no ordenadas de pares clave - valor
68
+ """
69
+
70
+ # Creacion
71
+ mi_diccionario = {'a' : 1 , 'b' : 2 , 'c' : 3 , 'd' : 4 , 'e' : 5 }
72
+
73
+ # Inserccion
74
+ mi_diccionario ['f' ] = 6 # Añade un nuevo par clave -valor
75
+
76
+ # Borrado
77
+ del mi_diccionario ['b' ] # Elimina el par con la clave 'b'
78
+ mi_diccionario .pop ('a' ) # Elimina y devuelve el valor asociado con la clave 'a'
79
+
80
+ # Actualizacion
81
+ mi_diccionario ['c' ] = 30 # Actualiza el valor asociado a la clave 'c' por 30
82
+
83
+ # Ordenacion
84
+ # Los diccionarios no tienen un orden, pero se puede ordenar por clave o valor
85
+ dict_ordenado_por_clave = dict (sorted (mi_diccionario .items ()))
86
+ dict_ordenado_por_valor = dict (sorted (mi_diccionario .items (), key = lambda item : item [1 ]))
87
+
88
+ print (dict_ordenado_por_clave )
89
+ print (dict_ordenado_por_valor )
90
+
91
+
92
+ """
93
+ Extra
94
+ """
95
+
96
+ def agenda_contactos ():
97
+
98
+ agenda = {}
99
+
100
+ def insertar ():
101
+ nombre = input ('Por favor ingrese el nombre del contacto: ' )
102
+ while True :
103
+ numero = input ('Por favor ingresa el numero del contacto:' )
104
+ if numero .isdigit () and 5 <= len (numero ) <= 11 :
105
+ agenda [nombre ] = numero
106
+ print (f'Contacto { nombre } agregado correctamente.' )
107
+ break
108
+ else :
109
+ print ('Numero de contacto invalido. Debe tener entre 5 a 11 Digitos.' )
110
+
111
+ def eliminar ():
112
+ nombre = input ('Por favor ingrese el nombre del contacto que desea eliminar: ' )
113
+ if nombre in agenda :
114
+ del agenda [nombre ]
115
+ print (f'Contacto { nombre } eliminado correctamente.' )
116
+ else :
117
+ print (f'Contacto { nombre } no encontrado.' )
118
+
119
+ def actualizar ():
120
+ nombre = input ('Por favor ingresa el nombre del contacto que deseas actualizar: ' )
121
+ if nombre in agenda :
122
+ print (f"""Seleccione una de las siguientes opciones:
123
+ a. Actualizar nombre de contacto
124
+ b. Actualizar numero de contacto""" )
125
+ actualizacion = input ('Inserte la opcion a elegir: ' )
126
+ if actualizacion == 'a' :
127
+ nuevo_nombre = input ('Por favor ingrese el nuevo nombre de contacto: ' )
128
+ agenda [nuevo_nombre ] = agenda .pop (nombre )
129
+ elif actualizacion == 'b' :
130
+ nuevo_numero = input ('Por favor ingrese el nuevo numero de contacto: ' )
131
+ agenda [nombre ] = nuevo_numero
132
+ else :
133
+ print (f'Contacto { nombre } no encontrado.' )
134
+
135
+ def buscar ():
136
+ nombre = input ('Por favor ingrese el nombre del contacto que desea buscar: ' )
137
+ if nombre in agenda :
138
+ print (f'El numero de { nombre } es { agenda [nombre ]} .' )
139
+ else :
140
+ print (f'El contacto { nombre } no encontrado.' )
141
+
142
+ while True :
143
+ print ('Bienvenido a tu agenda' )
144
+ print (f"""Que operacion deseas realizar:
145
+ a. Inserta contacto
146
+ b. Eliminar contacto
147
+ c. Actualizar contacto
148
+ d. Buscar contacto
149
+ e. Salir
150
+ """ )
151
+
152
+ opcion_usuario = input ('Por favor ingresa la opcion a seleccionar: ' )
153
+
154
+ if opcion_usuario == 'a' :
155
+ insertar ()
156
+ elif opcion_usuario == 'b' :
157
+ eliminar ()
158
+ elif opcion_usuario == 'c' :
159
+ actualizar ()
160
+ elif opcion_usuario == 'd' :
161
+ buscar ()
162
+ elif opcion_usuario == 'e' :
163
+ print ('Saliendo de la agenda...' )
164
+ break
165
+ else :
166
+ print ('Opcion no valida, por favor intenta de nuevo.' )
167
+
168
+ agenda_contactos ()
0 commit comments