Skip to content

Commit 834131e

Browse files
authored
Merge pull request mouredev#3378 from Aldroide/main
Ejercicios #16, #17 y #18 Python
2 parents 9f38c1f + 667c395 commit 834131e

File tree

3 files changed

+139
-0
lines changed

3 files changed

+139
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import re
2+
"""
3+
Utilizando tu lenguaje, explora el concepto de expresiones regulares,
4+
creando una que sea capaz de encontrar y extraer todos los números
5+
de un texto.
6+
"""
7+
8+
regex = r"[0-9]+"
9+
text = "Ejercicio del 15/04/2024"
10+
11+
12+
def find_number(text: str) -> list:
13+
return re.findall(r"\d+", text)
14+
15+
16+
print(find_number("Ejercicio 16 del 15/04/2024"))
17+
18+
19+
"""
20+
Ejercicio Extra
21+
Crea 3 expresiones regulares (a tu criterio) capaces de:
22+
* Validar un email.
23+
* Validar un número de teléfono.
24+
* Validar una url.
25+
"""
26+
27+
28+
def validar_email(text: str) -> bool:
29+
return bool(re.match(r"^[\w.+-]+@[\w]+\.[a-zA-z]+", text))
30+
31+
32+
def validar_telefono(phone: str) -> bool:
33+
return bool(re.match(r"^\+?[\d\s]{3,}$", phone))
34+
35+
36+
def validar_url(url: str) -> bool:
37+
return bool(re.match(r"^http[s]?://(www.)?[\w]+\.[a-zA-z]{2,}$", url))
38+
39+
40+
print(validar_email("Aldroide@gmail.com"))
41+
print(validar_telefono("+5394576298"))
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
"""
2+
Ejercicio:
3+
Utilizando tu lenguaje, emplea 3 mecanismos diferentes para imprimir
4+
números del 1 al 10 mediante iteración.
5+
"""
6+
7+
# For
8+
for i in range(i, 11):
9+
print(i)
10+
11+
12+
# While
13+
i = 1
14+
while i <= 10:
15+
print(i)
16+
i += 1
17+
18+
# Recursión
19+
20+
21+
def recursivo(i=1):
22+
if i <= 10:
23+
print(i)
24+
recursivo(i+1)
25+
26+
27+
recursivo()
28+
29+
30+
"""
31+
Dificultad Extra
32+
Escribe el mayor número de mecanismos que posea tu lenguaje
33+
para iterar valores
34+
"""
35+
36+
for e in [1, 2, 3, 4]:
37+
print(e)
38+
39+
for e in {1, 2, 3, 4}:
40+
print(e)
41+
42+
for e in (1, 2, 3, 4):
43+
print(e)
44+
45+
print(*[i for i in range(1, 11)], sep="\n")
46+
47+
for c in "Python":
48+
print(c)
49+
50+
for e in reversed([1, 2, 3, 4]):
51+
print(e)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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+
my_set1 = set(['Anahi', 'Sebastian', 'Samira', 'Emmanuel'])
15+
print(my_set1)
16+
17+
# Añadir un elemento
18+
my_set1.add('Erwin')
19+
print(f"Añadimos Erwin: {my_set1}")
20+
# Eliminar elemento
21+
my_set1.remove('Anahi')
22+
print(f"Se removio Anahi: {my_set1}")
23+
24+
25+
"""
26+
EJERCICIO EXTRA:
27+
* Muestra ejemplos de las siguientes operaciones con conjuntos:
28+
* Unión.
29+
* Intersección.
30+
* Diferencia.
31+
* Diferencia simétrica.
32+
"""
33+
my_set1 = set([1, 2, 3, 4])
34+
my_set2 = set([3, 4, 5, 6])
35+
36+
print(f"\nSets a usar {my_set1} y {my_set2}")
37+
mysetR = my_set1.union(my_set2)
38+
print(f"Union {mysetR}")
39+
40+
mysetR = my_set1.intersection(my_set2)
41+
print(f"Interseccion {mysetR}")
42+
43+
mysetR = my_set1.difference(my_set2)
44+
print(f"diferencia {mysetR}")
45+
46+
mysetR = my_set1.symmetric_difference(my_set2)
47+
print(f"Diferencia simetrica {mysetR}")

0 commit comments

Comments
 (0)