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
|