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:46:49 2025 / +0000 GMT

Recherche naive


def recherche_mot(texte, mot):
    """Recherche un mot dans un texte

    Arguments
    ---------
    texte: str
        le texte dans lequel on effectue la recherche
    mot: str
        le mot recherché

    Return
    -------

    renvoie True si le mot est trouvé et False si le mot n'est pas trouvé

        Test:

    recherche_mot("abcbcdcabbabc","abb") renvoie True
    recherche_mot("abcbcdcabbabc","toto")   renvoie False
    recherche_mot("abcbcdcabbabc","ac")   renvoie False
    """

    N = len(texte)#taille du texte
    n = len(mot)#taille du mot
    i=0#indice pour le texte
    k=0#indice pour le mot
    if n>N:
        print("erreur le mot est plus long que le texte")
        #return


    recherche=True#on mets à True la variable recherche
    for i in range(N-n+1):# boucle pour i variant de 0 à taille de la chaine-taille du mot +1
        while recherche and k+1 < n:#☺boucle tant que recherche est vraie (True) ET k+1 < taille du mot
            if mot[k] != texte[i+k]:
                recherche = False
            k += 1
        if recherche:
            return True#on sort avec renvoie de True
    return False#on sort avec renvoie de False

Post date: 2021-03-18 09:25:02
Post date GMT: 2021-03-18 08:25:02
Post modified date: 2024-12-06 11:49:01
Post modified date GMT: 2024-12-06 10:49:01
Powered by [ Universal Post Manager ] plugin. HTML saving format developed by gVectors Team www.gVectors.com