Skip to content

Commit b1a46cc

Browse files
authored
Merge pull request mouredev#4246 from agusrosero/develop
#24 - Python
2 parents 2f4a0eb + 997978c commit b1a46cc

File tree

2 files changed

+120
-0
lines changed

2 files changed

+120
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
/*
2+
* EJERCICIO:
3+
* Utilizando tu lenguaje crea un conjunto de datos y realiza las siguientes
4+
* operaciones (debes utilizar una estructura que las soporte):
5+
* - Añade un elemento al final.
6+
* - Añade un elemento al principio.
7+
* - Añade varios elementos en bloque al final.
8+
* - Añade varios elementos en bloque en una posición concreta.
9+
* - Elimina un elemento en una posición concreta.
10+
* - Actualiza el valor de un elemento en una posición concreta.
11+
* - Comprueba si un elemento está en un conjunto.
12+
* - Elimina todo el contenido del conjunto.
13+
*
14+
* DIFICULTAD EXTRA (opcional):
15+
* Muestra ejemplos de las siguientes operaciones con conjuntos:
16+
* - Unión.
17+
* - Intersección.
18+
* - Diferencia.
19+
* - Diferencia simétrica.
20+
*/
21+
const mySet = new Set();
22+
23+
// Añade un elemento
24+
mySet.add(1);
25+
mySet.add(2);
26+
mySet.add(3);
27+
// Añade varios elementos en bloque al final.
28+
mySet.add([4, 5, 6]);
29+
// Elimina un elemento en una posición concreta.
30+
mySet.delete(3);
31+
// Comprueba si un elemento está en un conjunto.
32+
console.log(mySet.has(2));
33+
console.log(mySet);
34+
35+
// DIFICULTAD EXTRA:
36+
// Unión
37+
conjunto1 = new Set([1, 2, 3, 4]);
38+
conjunto2 = new Set([5, 6, 7, 8]);
39+
const union = [...new Set([...conjunto1, ...conjunto2])];
40+
console.log(union);
41+
42+
// Intersección
43+
const firstSet = new Set([1, 2, 3, 4, 5]);
44+
const secondSet = new Set([4, 5, 6, 7, 8]);
45+
const commonElements = [...firstSet].filter((element) =>
46+
secondSet.has(element)
47+
);
48+
const set = new Set(commonElements);
49+
console.log(set);
50+
51+
// Diferencia
52+
const firstSet2 = new Set([1, 2, 3, 4, 5]);
53+
const secondSet2 = new Set([4, 5, 6, 7, 8]);
54+
55+
const diffElements = [...firstSet2].filter(
56+
(element) => !secondSet2.has(element)
57+
);
58+
const set2 = new Set(diffElements);
59+
console.log(set2);
60+
61+
// Diferencia simétrica
62+
const firstSet3 = new Set([1, 2, 3, 4, 5]);
63+
const secondSet3 = new Set([4, 5, 6, 7, 8]);
64+
65+
const firstOnlyElements = [...firstSet3].filter(
66+
(element) => !secondSet3.has(element)
67+
);
68+
const secondOnlyElements = [...secondSet3].filter(
69+
(element) => !firstSet3.has(element)
70+
);
71+
const set3 = new Set([...firstOnlyElements, ...secondOnlyElements]);
72+
console.log(set3);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
"""
2+
/*
3+
* EJERCICIO:
4+
* Explora el concepto de "decorador" y muestra cómo crearlo
5+
* con un ejemplo genérico.
6+
*
7+
* DIFICULTAD EXTRA (opcional):
8+
* Crea un decorador que sea capaz de contabilizar cuántas veces
9+
* se ha llamado a una función y aplícalo a una función de tu elección.
10+
*/
11+
"""
12+
# EJERCICIO:
13+
14+
15+
def mi_decorador(fn):
16+
def wrapper(*args, **kwargs):
17+
print("Mi decorador...")
18+
return fn(*args, **kwargs)
19+
return wrapper
20+
21+
22+
@mi_decorador
23+
def suma(a, b):
24+
return a + b
25+
26+
27+
print(suma(10, 20))
28+
29+
# DIFICULTAD EXTRA:
30+
31+
32+
def counter(fn):
33+
def wrapper(*args, **kwargs):
34+
wrapper.count += 1
35+
return fn(*args, **kwargs)
36+
wrapper.count = 0
37+
return wrapper
38+
39+
40+
@counter
41+
def resta():
42+
return 10 - 5
43+
44+
45+
resta()
46+
resta()
47+
resta()
48+
print(resta.count)

0 commit comments

Comments
 (0)