Skip to content

Commit bc997dc

Browse files
committed
#3 - Python
1 parent 6538631 commit bc997dc

File tree

1 file changed

+187
-0
lines changed

1 file changed

+187
-0
lines changed
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
"""
2+
EJERCICIO:
3+
- Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
4+
- Utiliza operaciones de inserción, borrado, actualización y ordenación.
5+
6+
DIFICULTAD EXTRA (opcional):
7+
Crea una agenda de contactos por terminal.
8+
- Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
9+
- Cada contacto debe tener un nombre y un número de teléfono.
10+
- El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
11+
los datos necesarios para llevarla a cabo.
12+
- El programa no puede dejar introducir números de teléfono no númericos y con más de 11 dígitos.
13+
(o el número de dígitos que quieras)
14+
- También se debe proponer una operación de finalización del programa.
15+
"""
16+
17+
#*-------------------------------------------------------------------------------------------------------------#
18+
19+
"""
20+
- Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
21+
- Utiliza operaciones de inserción, borrado, actualización y ordenación.
22+
"""
23+
24+
print("-----------------------------------------------------------------------------------------------------")
25+
#Listas
26+
print("LISTAS")
27+
lista = [1,2,3,4]
28+
print(f"Esto es una lista = {lista}")
29+
30+
#Inserción
31+
lista.append(3)
32+
print(f"Con la función append se añaden nuevos elementos al final de la lista {lista}")
33+
34+
#Borrado
35+
lista.remove(1)
36+
print(f"Con la función remove se eliminan el valor de los elementos que esten dentro de la lista {lista}")
37+
38+
#Actualizacion
39+
lista[2] = 20
40+
print(f"Para actualizar valores de la lista hay que indicar con [el indice que se quiere actualizar] {lista}")
41+
42+
#Ordenacion
43+
lista.sort()
44+
print(f"Para ordenar los valores de los elementos de la lista, se utiliza la función sort {lista}")
45+
46+
print("-----------------------------------------------------------------------------------------------------")
47+
48+
#Set
49+
print("SET")
50+
#Forma uno: Usando la función set()
51+
set_forma_uno = set([1,2,4,5])
52+
print(f"Estos es un set: {set_forma_uno}")
53+
print(f"Una forma de hacer un set es con la función set(): {set_forma_uno}")
54+
#Forma dos: Usando {}
55+
set_forma_dos = {1,2,3,4,5}
56+
print(f"Otra forma de hacer un set es definiendo con: {set_forma_dos}")
57+
#IMPORTANTE: Los elementos de un set deben ser inmutables.
58+
59+
#Inserccion
60+
set_forma_uno.add(8) #Forma uno
61+
set_forma_dos.add(66) #Forma dos
62+
print(f"Para insertar elementos dentro del set, se usa la función add(): {set_forma_uno} y {set_forma_dos}")
63+
64+
#Borrado
65+
set_forma_uno.remove(8) #Forma uno
66+
set_forma_dos.remove(66) #Forma dos
67+
print(f"Una forma de eliminar elementos dentro del set es usando la función remove(): {set_forma_uno} y {set_forma_dos}")
68+
69+
print("-----------------------------------------------------------------------------------------------------")
70+
71+
#Tuplas
72+
print("TUPLAS")
73+
tupla_uno = (1,2,4) #Forma 1
74+
tupla_dos = 1,2,3,4 #Forma 2
75+
print(f"Esto es una tupla {tupla_uno}")
76+
#IMPORTANTE: Los elementos de un set deben ser inmutables.
77+
print("-----------------------------------------------------------------------------------------------------")
78+
79+
#Diccionario
80+
print("DICCIONARIO")
81+
dic_uno = {'Fruta':'Manzana',
82+
'Hortaliza':'Zanahoria'}
83+
print(f"Esto ez un diccionario: {dic_uno}")
84+
85+
#Actualizar
86+
dic_uno['Fruta'] = "Durazno"
87+
print(f"Para actualizar valores del diccionario hay que indicar con [elemento que se quiere actualizar]: {dic_uno}")
88+
89+
#*-------------------------------------------------------------------------------------------------------------#
90+
"""
91+
DIFICULTAD EXTRA (opcional):
92+
Crea una agenda de contactos por terminal.
93+
- Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
94+
- Cada contacto debe tener un nombre y un número de teléfono.
95+
- El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
96+
los datos necesarios para llevarla a cabo.
97+
- El programa no puede dejar introducir números de teléfono no númericos y con más de 11 dígitos.
98+
(o el número de dígitos que quieras)
99+
- También se debe proponer una operación de finalización del programa.
100+
"""
101+
#*-------------------------------------------------------------------------------------------------------------#
102+
103+
agenda_contactos = {
104+
'Carlos': '10985565324',
105+
'Juan' : '18709253628'}
106+
107+
# INSERTAR CONTACTO
108+
def insertar_contactos():
109+
nombre = input("Indique su nombre: ")
110+
telefono = input("Indique su número de teléfono: ")
111+
112+
if len(telefono) <= 11 and telefono.isdigit() and int(telefono) >= 0:
113+
agenda_contactos[nombre] = telefono
114+
print(f"Contacto {nombre} agregado correctamente.")
115+
else:
116+
print("Número de teléfono inválido. Debe ser numérico y tener hasta 11 dígitos.")
117+
118+
# BUSCAR CONTACTO
119+
def buscar_contacto():
120+
nombre = input("Indique el nombre del contacto: ")
121+
if nombre in agenda_contactos:
122+
print(f"Contacto {nombre}: {agenda_contactos[nombre]}")
123+
else:
124+
print(f"El contacto {nombre} no se encontró en la agenda.")
125+
126+
# ACTUALIZAR CONTACTO
127+
def actualizar_contactos():
128+
nombre = input("Indique el nombre del contacto que desea actualizar: ")
129+
if nombre in agenda_contactos:
130+
nuevo_telefono = input("Indique el nuevo número de teléfono: ")
131+
132+
if len(nuevo_telefono) <= 11 and nuevo_telefono.isdigit() and int(nuevo_telefono) >= 0:
133+
agenda_contactos[nombre] = nuevo_telefono
134+
print(f"Teléfono de {nombre} actualizado correctamente.")
135+
else:
136+
print("Número de teléfono inválido. Debe ser numérico y tener hasta 11 dígitos.")
137+
else:
138+
print(f"El contacto {nombre} no se encontró en la agenda.")
139+
140+
# ELIMINAR CONTACTOS
141+
def eliminar_contactos():
142+
nombre = input("Indique el nombre del contacto que desea eliminar: ")
143+
if nombre in agenda_contactos:
144+
del agenda_contactos[nombre]
145+
print(f"El contacto {nombre} ha sido eliminado correctamente.")
146+
else:
147+
print(f"El contacto {nombre} no se encontró en la agenda.")
148+
149+
menu = True
150+
151+
while menu:
152+
print("---------------------------------------------------")
153+
print("BIENVENIDOS A LA AGENDA DE CONTACTOS")
154+
print("---------------------------------------------------")
155+
print("¿QUÉ PROCESO QUIERE REALIZAR?")
156+
print("-----------------------------")
157+
print("|1.| BUSCAR CONTACTO |")
158+
print("|2.| CREAR CONTACTO |")
159+
print("|3.| ACTUALIZAR CONTACTO |")
160+
print("|4.| ELIMINAR CONTACTO |")
161+
print("|5.| VER AGENDA DE CONTACTOS |")
162+
print("|6.| SALIR |")
163+
164+
opcion = input("Indique la opción que desea realizar: ")
165+
166+
if opcion == "1":
167+
buscar_contacto()
168+
elif opcion == "2":
169+
insertar_contactos()
170+
elif opcion == "3":
171+
actualizar_contactos()
172+
elif opcion == "4":
173+
eliminar_contactos()
174+
elif opcion == "5":
175+
print(f"Agenda de Contactos = {agenda_contactos}")
176+
elif opcion == "6":
177+
print("¡Hasta luego!")
178+
break
179+
else:
180+
print("Opción inválida. Intente nuevamente.")
181+
182+
183+
184+
185+
186+
#"-------------------------------------------------------------------------------------------"#
187+

0 commit comments

Comments
 (0)