Skip to content

Commit 67740c7

Browse files
authored
Merge pull request #7863 from idiegorojas/main
#16 - Python
2 parents 51100a2 + eb6d7c1 commit 67740c7

File tree

2 files changed

+275
-0
lines changed

2 files changed

+275
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Regex
2+
3+
"""
4+
Es una herramienta para trabjar con texto
5+
Se trabaja a traves del modulo 'Re'
6+
Permite buscar, coincidir y manipular cadenas de texto
7+
Se usan para:
8+
* Validar formatos (correos electronicos o numeros de telefono)
9+
* Extraer info especifica de un texto (fechas o palabras clave)
10+
* Reemplazar partes de un texto
11+
"""
12+
13+
# Importamos el modulo re
14+
import re
15+
16+
"""
17+
Metodos clave:
18+
* re.search() Busca la primera coincidencia del patron del texto
19+
* re.match() Verifica si el patron coincide al inicio del texto
20+
* re.findall() Devuelve todas las coincidencias en una lista
21+
* re.sub() Reemplaza coincidencias por otro texto
22+
"""
23+
24+
# Ejercicio:
25+
texto = 'Mi numero es 1234 y el tuyo es 5678'
26+
patron = r'\d+' # '\d+' uno o mas digitos
27+
numeros = re.findall(patron, texto)
28+
print(numeros)
29+
30+
"""
31+
Caracteres comunes es regex
32+
* .: cualquier caracter (excepto salto de linea)
33+
* *: 0 o mas repeticiones
34+
* +: 1 o mas repeticiones
35+
* ?: 0 o una repeticion
36+
* \d: Un dígito (0-9).
37+
* \w: Un carácter alfanumérico (letras, números, guión bajo).
38+
* \s: Espacio en blanco.
39+
* []: Define un conjunto de caracteres (ejemplo: [a-z] para letras minúsculas).
40+
"""
41+
42+
# Validar un email
43+
email = 'usuario@dominio10.com'
44+
patron = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.[a-zA-Z]+$"
45+
if re.match(patron, email):
46+
print('Email valido')
47+
else:
48+
print('Email invalido')
49+
50+
# Validar telefono
51+
telefono = '+99(534)547-5561'
52+
patron = r'\+[0-9]+\([0-9]+\)[0-9]+\-[0-9]'
53+
if re.match(patron, telefono):
54+
print('Numero valido')
55+
else:
56+
print('Numero invalido')
57+
58+
# Validar una url
59+
url = 'http://sample.info/?insect=fireman&porter=attraction#cueva'
60+
patron = r'^http[s]?://(www\.)?[\w-]+\.[a-zA-Z]{2,}$'
61+
if re.match(patron, url):
62+
print('Url valida.')
63+
else:
64+
print('Url invalida.')
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
# Iteraciones
2+
3+
"""
4+
Es el proceso de repetir una serie de instrucciones o pasos varias veces
5+
En python se suele manejar con los bucles 'for' y 'while'.
6+
"""
7+
8+
# Bucle for
9+
"""
10+
Se usa cuando cuando se sabe cuantas veces que quiere repetir algo.
11+
Cundo se quiere recorrer una secuencia (lista, tupla, cadena o rango)
12+
"""
13+
14+
"""
15+
for variable in secuencia:
16+
pass # codigo a ejecutar en cada secuencia
17+
"""
18+
19+
# Imprimir los numeros del 1 al 5
20+
for i in range(1, 6):
21+
print(i)
22+
23+
24+
print('-----------------')
25+
26+
27+
28+
# i toma el valor de la secuncia generada por range() y el bucle itera 5 veces
29+
30+
frutas = ['Manzana', 'Uva', 'Pera']
31+
for fruta in frutas:
32+
print(f'Me gusta la {fruta}')
33+
34+
35+
print('-----------------')
36+
37+
38+
39+
# Bucle while
40+
"""
41+
Se usa cuando no se sabe exactamente cuantas veces se necesita iterar.
42+
Tiene una condicion que determina cuando debe parar.
43+
"""
44+
45+
"""
46+
while condicion:
47+
pass # Codigo que se ejecuta mientras la condicion es verdadera
48+
"""
49+
50+
# Contar del 1 al 5
51+
contador = 0
52+
while contador <= 5:
53+
print(contador)
54+
contador += 1 # Incrementa el contador en 1
55+
# Si no se incrementa el contador el bucle sera infinito
56+
57+
58+
59+
print('-----------------')
60+
61+
62+
63+
# Iterables e iteradores
64+
"""
65+
Iterable:
66+
Es cualquier objeto que se puede recorrer elemento por elemento
67+
Listas, cadenas, diccionarios.
68+
69+
Iteradores:
70+
Son objetos que implementan los metodos 'iter()' y 'next()' para controlar como se recorre el iterable
71+
"""
72+
73+
# Iterar hasta el numero 3
74+
lista = [1, 2, 3, 4, 5]
75+
iterador = iter(lista)
76+
print(next(iterador))
77+
print(next(iterador))
78+
print(next(iterador))
79+
80+
81+
print('-----------------')
82+
83+
84+
85+
# Comprensiones
86+
"""
87+
Es una forma mas elegante y concisa de iterar
88+
"""
89+
90+
cuadrados = [x**2 for x in range(1, 5)]
91+
print(cuadrados)
92+
93+
94+
95+
print('-----------------')
96+
97+
98+
99+
# Break y continue
100+
"""
101+
Break: Termina el bucle antes de tiempo
102+
Continue: Salta a la sigueinte iteracion sin ejecutar el coidgo en esa vuelta.
103+
"""
104+
105+
for i in range(1, 6):
106+
if i == 3:
107+
continue # Salta el 3
108+
if i == 5:
109+
break # Termina en 5
110+
print(i)
111+
112+
113+
print('-----------------')
114+
115+
116+
# Ejercicio
117+
for i in range(1, 11):
118+
print(i)
119+
120+
121+
print('-----------------')
122+
123+
contador = 1
124+
while contador <= 10:
125+
print(contador)
126+
contador += 1
127+
128+
129+
print('-----------------')
130+
131+
contador = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
132+
iterador = iter(contador)
133+
print(next(iterador))
134+
print(next(iterador))
135+
print(next(iterador))
136+
print(next(iterador))
137+
print(next(iterador))
138+
print(next(iterador))
139+
print(next(iterador))
140+
print(next(iterador))
141+
print(next(iterador))
142+
print(next(iterador))
143+
144+
145+
print('-----------------')
146+
147+
148+
def contar_hasta_diez(i=1):
149+
if i <= 10:
150+
print(i)
151+
contar_hasta_diez(i+1)
152+
153+
contar_hasta_diez()
154+
155+
print('-----------------')
156+
157+
158+
159+
# Extra
160+
161+
# iterar una lista
162+
for i in [1,2,3,4,5]:
163+
print(i)
164+
165+
166+
print('-----------------')
167+
168+
# Iterar un tupla
169+
for i in (1,2,3,4,5):
170+
print(i)
171+
172+
173+
print('-----------------')
174+
175+
176+
# Iterar un diccionario
177+
for i in {1,2,3,4,5}:
178+
print(i)
179+
180+
print('-----------------')
181+
182+
183+
# Iterar un diccionario por Clave
184+
for i in {'a': 1, 'b': 2, 'c':3, 'd': 4, 'e':5}:
185+
print(i)
186+
187+
print('-----------------')
188+
189+
# Iterar un diccionario por Valor
190+
for i in {'a': 1, 'b': 2, 'c':3, 'd': 4, 'e':5}.values():
191+
print(i)
192+
193+
print('-----------------')
194+
195+
for i in 'Python':
196+
print(i)
197+
198+
print('-----------------')
199+
200+
for i in reversed('Python'):
201+
print(i)
202+
203+
print('-----------------')
204+
205+
for i in sorted('python'):
206+
print(i)
207+
208+
print('-----------------')
209+
210+
for i, e in enumerate(sorted(["p", "y", "t", "h", "o", "n"])):
211+
print(f"Índice: {i}, valor: {e}")

0 commit comments

Comments
 (0)