This page was exported from Enseignement de l'informatique et du numérique au lycée Boissy d'Anglas [ https://icn-isn-boissy.yj.fr/wp ] Export date:Wed Feb 26 15:41:35 2025 / +0000 GMT ___________________________________________________ Title: Recherche --------------------------------------------------- def recherche_mot_boyer(texte, mot): """Recherche un mot dans un texte avec l'algo de boyer-moore Arguments --------- texte: str le texte dans lequel on effectue la recherche mot: str le mot recherché Returns ------- bool renvoie True si le mot est trouvé """ N = len(texte) n = len(mot) # création de notre dictionnaire de décalages décalages = pre_traitement(mot) # on commence à la fin du mot i = n - 1 while i < N: lettre = texte[i] if lettre == mot[-1]: # On vérifie que le mot est là avec un slice sur texte # On pourrait faire un while if texte[i-n+1:i+1] == mot: return True # on décale if lettre in décalages.keys(): i += décalages[lettre] else: i += n return False # Quelques tests assert recherche_mot_boyer('abracadabra', 'dab') assert recherche_mot_boyer('abracadabra', 'abra') assert recherche_mot_boyer('abracadabra', 'obra') == False assert recherche_mot_boyer('abracadabra', 'bara') == False assert recherche_mot_boyer('maman est là', 'maman') assert recherche_mot_boyer('bonjour maman', 'maman') assert recherche_mot_boyer('bonjour maman', 'papa') == False --------------------------------------------------- Images: --------------------------------------------------- --------------------------------------------------- Post date: 2021-03-18 09:33:45 Post date GMT: 2021-03-18 08:33:45 Post modified date: 2024-12-20 10:52:41 Post modified date GMT: 2024-12-20 09:52:41 ____________________________________________________________________________________________ Export of Post and Page as text file has been powered by [ Universal Post Manager ] plugin from www.gconverters.com