New submission from Daniel Pezoa <danieladpor...@gmail.com>:
I am using the SequenceMatcher object of the difflib library and I have noticed that a drastic failure occurs when the text strings exceed 200 characters Source code: ===================================================================== from difflib import SequenceMatcher def main(): # Throw a value of 7% when they are almost equal for having more than 200 characters text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos" text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos" m = SequenceMatcher(None, text1, text2) x = m.ratio() porcentaje = (int)(x * 100) print("{}\n\n{}\n\n{}\n\nBad: {}%\n\n".format(text1, text2, x, porcentaje)) # Throw the expected value of 99% for having less than 200 characters text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las" text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las" text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas" text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas" m = SequenceMatcher(None, text1, text2) x = m.ratio() porcentaje = (int)(x * 100) print("{}\n\n{}\n\n{}\n\nGood: {}%".format(text1, text2, x, porcentaje)) if __name__== "__main__": main() Output: ====================================================================== aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos 0.0794044665012407 Bad: 7% aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas 0.9800796812749004 Good: 98% ---------- components: Library (Lib) messages: 359534 nosy: Daniel Pezoa priority: normal severity: normal status: open title: difflib SequenceMatcher 200 char length limitation for ratio calculation type: behavior versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39249> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com