def fails(src, dic): d = set(re.findall("\w+", dic)) return [w for w in re.findall("\w+", src) if not w.lower() in d](20 + 35 + 68 = 123)
Usa a libraría das expresións regulares `re` para separar por verbas e un diccionario de referencia para face-las comprobacións, por exemplo:
>>> import re >>> fails("A libraría estándar de python inclúe un módulo para manexar peticións HTTP, podemos usala para ver a url de resultado de un deses acurtadores que nunca sabemos onde irán levar, so tempos que importar a libraría `urllib` e facer isto:", open("/usr/share/dict/galician").read()) ['python', 'incl', 'HTTP', 'usala', 'url', 'acurtadores', 'urllib'] >>>
E non ten moita máis miga, como curiosidade e reflexión se tedes un rato libre igual vos interesa un artigo que fala de que programar xa non é o que era e que agora ata o que tiña algo de complexidade como era un corrector é trivial (na lingua de Shakespeare), traduzo máis ou menos o final:
Avanza ata hoxe. Un programa que carga /usr/share/dict/words nunha tabla hash son 3-5 liñas de Perl o Python, dependendo de como o queiras poñer. Buscar unha palabra no diccionario nunha tabla hash é unha expresión trivial, unha incluida coa linguaxe. E xa está. Claro, podes atopar formas para reducir o tempo de carga ou a pegada de memoria, pero iso xa non é algo necesario. A implementación básica é tan descerebradamente trivial que pode ser un exercicio para o lector dun dos primeiros capitulos de calqueira tutorial de Python.
Iso é progreso.
Canta razón leva :)
No hay comentarios:
Publicar un comentario