Skip to content

Commit a758205

Browse files
author
AlbertoMorilla
committed
#3-PYTHON
1 parent 8ea492f commit a758205

File tree

1 file changed

+178
-0
lines changed

1 file changed

+178
-0
lines changed
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# #03 ESTRUCTURAS DE DATOS
2+
3+
4+
## Ejercicio
5+
#- Muestra ejemplos de creación de todas las estructuras soportadas por defecto en tu lenguaje.
6+
#- Utiliza operaciones de inserción, borrado, actualización y ordenación.
7+
8+
### LISTAS
9+
10+
nombres = ['Alberto', 'Ana', 'Laura', 'Teresa', 'Carmen', 'Daniel']
11+
print(type(nombres))
12+
13+
varios = ['Hola', 150, True]
14+
print(type(varios))
15+
16+
print (nombres[2])
17+
print (nombres[-1])
18+
print (type(varios[1]))
19+
20+
nombres[3:4] = ['Maria Teresa', 'MariCarmen']
21+
print (nombres)
22+
23+
nombres.append('Leo')
24+
print (nombres)
25+
26+
nombres.extend(["Angel", "Pablo"])
27+
print (nombres)
28+
29+
nombres.remove('Ana')
30+
print (nombres)
31+
32+
nombres.insert(1, 'Maria')
33+
print (nombres)
34+
35+
nombres.pop(5)
36+
print (nombres)
37+
38+
nombres.sort()
39+
print (nombres)
40+
41+
clasificacion = [10,7,5,3,1,3]
42+
print (clasificacion.count(3))
43+
44+
print (clasificacion.index(3))
45+
46+
print ('8' in clasificacion)
47+
48+
nombres.clear()
49+
print (nombres)
50+
51+
## TUPLAS
52+
53+
colores = ("azul", "verde", "rojo", "negro")
54+
numero = (2,)
55+
56+
print(type(numero))
57+
print(type(colores))
58+
print (colores[0])
59+
print (colores[-1])
60+
print(colores.index('verde'))
61+
print(colores.count('azul'))
62+
print('rojo' in colores)
63+
64+
## SETS
65+
66+
pesos1 = {22, 66, 25}
67+
pesos2 = set([85,55,96,47,122])
68+
print(pesos2)
69+
print(type(pesos1))
70+
print(pesos1.intersection(pesos2))
71+
72+
pesos2.add(77)
73+
print(pesos2)
74+
75+
pesos2.remove(122)
76+
print(pesos2)
77+
78+
pesos2.discard(51)
79+
print(pesos2)
80+
81+
pesos2.pop()
82+
print(pesos2)
83+
84+
pesos2.clear()
85+
print(pesos2)
86+
87+
## DICCIONARIO
88+
89+
usuario = dict([
90+
('nombre', 'Juan'),
91+
('edad', 25),
92+
('ciudad', 'Bogota')
93+
])
94+
ciudades = {'Alberto':'Sevilla', 'Laura':'Granada', 'Toni':'Madrid'}
95+
print(usuario)
96+
97+
ciudades.popitem()
98+
print (ciudades)
99+
print (ciudades['Alberto'])
100+
101+
usuario2 = {'telefono':658987412}
102+
usuario.update(usuario2)
103+
print (usuario)
104+
105+
usuario.pop('edad')
106+
print (usuario)
107+
108+
ciudades = sorted(ciudades.items())
109+
print(ciudades)
110+
111+
ciudades.clear()
112+
print (ciudades)
113+
114+
# DIFICULTAD EXTRA (opcional):
115+
# Crea una agenda de contactos por terminal.
116+
# - Debes implementar funcionalidades de búsqueda, inserción, actualización y eliminación de contactos.
117+
# - Cada contacto debe tener un nombre y un número de teléfono.
118+
# - El programa solicita en primer lugar cuál es la operación que se quiere realizar, y a continuación
119+
# los datos necesarios para llevarla a cabo.
120+
# - El programa no puede dejar introducir números de teléfono no númericos y con más de 11 dígitos.
121+
# (o el número de dígitos que quieras)
122+
# - También se debe proponer una operación de finalización del programa.
123+
# - El programa debe mostrar la agenda de contactos al finalizar.
124+
125+
def mi_agenda ():
126+
127+
def insert_contact():
128+
phone = input("\nIntroduce el telefono del contacto: ")
129+
if phone.isdigit() and len(phone) > 0 and len(phone) <= 11:
130+
agenda[name] = phone
131+
else:
132+
print("El telefono no es correcto, puede que tenga mas de 11 digitos")
133+
134+
agenda = {}
135+
while True:
136+
137+
print('1. Buscar contacto')
138+
print('2. Insertar contacto')
139+
print('3. Actualizar contacto')
140+
print('4. Eliminar contacto')
141+
print('5. Salir')
142+
143+
option = input("\nSelecciona una opcion: ")
144+
145+
match option:
146+
case '1':
147+
name = input('\nIntroduce el nombre del contacto que desea buscar: ')
148+
149+
if name in agenda:
150+
print(f"El número de telefono de {name} es {agenda[name]}.")
151+
else:
152+
print('\nNo hay contactos con ese nombre')
153+
154+
case '2':
155+
name = input("\nIntroduce el nombre del contacto: ")
156+
insert_contact()
157+
158+
case '3':
159+
name = input("\nIntroduce el nombre del contacto que desea actualizar: ")
160+
if name in agenda:
161+
insert_contact()
162+
else:
163+
print('\nNo hay contactos con ese nombre')
164+
165+
case '4':
166+
name = input("\nIntroduce el nombre del contacto que desea eliminar: ")
167+
if name in agenda:
168+
del agenda[name]
169+
else:
170+
print('\nNo hay contactos con ese nombre')
171+
172+
case '5':
173+
print('Saliendo de la agenda.')
174+
break
175+
case _:
176+
print("Opción no válida. Por favor, selecciona una opción válida.")
177+
178+
mi_agenda()

0 commit comments

Comments
 (0)