Skip to content

Commit acd67ac

Browse files
authored
Merge pull request #8972 from ainaragmt/main
#3 - Python
2 parents 95bb13a + 9b7cf57 commit acd67ac

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# Listas
2+
print("\nListas")
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("\nTuplas")
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("\nSets")
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("\nDiccionario")
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("\nEjercicio 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"\nAgenda: {agenda}\n")
72+
73+
# idea: match + case
74+
x = int(input("Elige la función que desees y pulsa enter: \n1. Buscar contacto\n2. Insertar contacto\n3. Actualizar contacto\n4. Eliminar contacto\n5. Salir\n"))
75+
while x != 1 and x != 2 and x != 3 and x != 4 and x != 5:
76+
print("\nEl número elegido no existe.\n")
77+
x = int(input("¿Qué quieres hacer? \n1. Buscar contacto\n2. Insertar contacto\n3. Actualizar contacto\n4. Eliminar contacto\n"))
78+
print(x)
79+
80+
if x == 5:
81+
salir = 1
82+
83+
elif x == 1:
84+
nombre = str(input("\nEscribe 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("\nEscribe 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("\nContacto 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("\nEscribe 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("\nContacto actualizado:")
118+
except ValueError:
119+
print("Error: Número no numérico.\n")
120+
121+
elif x == 4:
122+
nombre = str(input("\nEscribe 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

Comments
 (0)