Monte Cristo


Descripción

El Conde de Monte Cristo es una novela escrita por Alexandre Dumas, que es considerada un clásico. Sin embargo, en la introducción de la traducción al inglés del libro, el escritor Umberto Eco confiesa que él encontró que el libro es “uno de las novelas peor escritas de todos los tiempos”

En particular, Umberto Eco dice que Dumas “repite sin vergüenza el mismo adjetivo”, y menciona en particular la frase “its characters either shudder or turn pale” (los personaje se estremecen o palidecen).

Para verificar si esta objeción es válida, vamos a contar el número de veces que la palabra pale (pálido, en inglés) aparece en alguna de sus formas (en inglés), incluyendo pale, pales, paled y paleness, así como la palabra relacionada pallor (palidez). Usa una sola expresión regular que coincida con todas las palabras mencionadas y con ninguna otra.

Puedes obtener el texto del libro desde la web de proyecto Gutenberg

Ejemplo de Ejecución:

>>> montecristo.py
33

Solución

Mostrar solución
import re

def is_special_line(line):
  return line.startswith('*** ')

count = 0
pattern = r'pal(es|ed|eness|lor)'

reader = open('/content/drive/MyDrive/pg1184.txt')
for line in reader:
  if is_special_line(line):
    continue

  result = re.search(pattern, line)
  if result:
    count += 1
    # si hubiera múltiples coincidencias por línea
    # count += len(result.groups())

reader.close()

print(count)

Probar solución en Google Colab

Fuente del ejercicio: https://allendowney.github.io/ThinkPython/chap08.html#id3