Curso-lenguaje-python/30-days-of-python/18_Expresiones_regulares
Manuel Vergara 7f6426e0ee Update exercises 18
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
2023-09-30 22:26:15 +02:00
..
01_regex.py Update exercises 18 2023-09-30 22:26:15 +02:00
README.md Update exercises 18 2023-09-30 22:26:15 +02:00

Expresiones regulares

Documento original en inglés: Regular Expressions

Ejercicios

Ejercicios: Nivel 1

  1. ¿Cuál es la palabra más frecuente en el siguiente párrafo?
paragraph = 'I love teaching. If you do not love teaching what else can you love. I love Python if you do not love something which can give you all the capabilities to develop an application what else can you love.
[
(6, 'love'),
(5, 'you'),
(3, 'can'),
(2, 'what'),
(2, 'teaching'),
(2, 'not'),
(2, 'else'),
(2, 'do'),
(2, 'I'),
(1, 'which'),
(1, 'to'),
(1, 'the'),
(1, 'something'),
(1, 'if'),
(1, 'give'),
(1, 'develop'),
(1, 'capabilities'),
(1, 'application'),
(1, 'an'),
(1, 'all'),
(1, 'Python'),
(1, 'If')
]
  1. La posición de algunas partículas en el eje x horizontal son -12, -4, -3 y -1 en la dirección negativa, 0 en el origen, 4 y 8 en la dirección positiva. Extrae estos números de todo el texto y encuentra la distancia entre las dos partículas más lejanas.
puntos = ['-12', '-4', '-3', '-1', '0', '4', '8']
puntos_ordenados = [-12, -4, -3, -1, -1, 0, 2, 4, 8]
distancia = 8 - (-12)  # La distancia es 20

Ejercicios: Nivel 2

  1. Escribe un patrón que identifique si una cadena es una variable válida en Python.
es_variable_valida('primer_nombre')  # Verdadero
es_variable_valida('primer-nombre')  # Falso
es_variable_valida('1primer_nombre')  # Falso
es_variable_valida('nombre')         # Verdadero

Ejercicios: Nivel 3

  1. Limpia el siguiente texto. Después de limpiarlo, cuenta las tres palabras más frecuentes en la cadena.
sentence = '''%I $am@% a %tea@cher%, &and& I lo%#ve %tea@ching%;. There $is nothing; &as& mo@re rewarding as educa@ting &and& @emp%o@wering peo@ple. ;I found tea@ching m%o@re interesting tha@n any other %jo@bs. %Do@es thi%s mo@tivate yo@u to be a tea@cher!?'''

print(clean_text(sentence));
I am a teacher and I love teaching There is nothing as more rewarding as educating and empowering people I found teaching more interesting than any other jobs Does this motivate you to be a teacher
print(most_frequent_words(cleaned_text)) # [(3, 'I'), (2, 'teaching'), (2, 'teacher')]

Ejercicios: Nivel 4

  1. Extrae el DNI de la siguiente cadena.
dni = """Asunto: Datos para la nómina.
Respondiendo a su mail, le paso el dato personal que le faltaba. Mi DNI es 12345678A.
Saludos.
"""

Solución

<< Day 17 | Day 19 >>