Exercice 49 algorithme python pour déterminer l'index de la première occurrence

Exercice 49

Écrire un programme en Python sous forme de fonction qui prend comme paramètre un tuple de chaîne (s, s1) et qui retourne l'index de la première occurrence de s1 trouvée dans la chaîne s sans utiliser la méthode index().
La fonction doit renvoyer -1 si s1 n'est pas trouvé dans la chaîne s.
Exemple si s = "Python programming" et s1 = "thon", la fonction renvoie l'index 2

Solution




# coding: utf-8
def rechercher(s , s1):
    n = len(s)
    m = len(s1)
    # initialisation de l'index recherché
    k = -1
    # parcourir les élément de la chaine s et rechercher l'occurrence s1
    for i in range(0 , n-m):
        if s[i:i+m] == s1:
            k = i
            break
    return k

s = "Python Programming" 
s1 = "thon"
print(rechercher(s , s1))      # affiche:  2
print(rechercher(s , 'thons')) # affiche: -1




 

Younes Derfoufi
CRMEF OUJDA

2 thoughts on “Exercice 49 algorithme python pour déterminer l'index de la première occurrence

  1. Dans cet exemple, la fonction rechercher() prend en argument deux chaînes de caractères : s et s1. La fonction recherche l’occurrence de s1 dans s, et renvoie l’indice de début de cette occurrence. Si s1 n’est pas trouvé dans s, la fonction renvoie -1.

    Pour cela, la fonction commence par initialiser l’indice recherché à -1, puis parcourt les éléments de s en utilisant une boucle for. A chaque itération de la boucle, la fonction vérifie si l’élément actuel de s correspond à s1 en utilisant l’opérateur d’égalité (==). Si c’est le cas, la fonction met à jour l’indice recherché et appelle la fonction break pour sortir de la boucle.

    La fonction renvoie ensuite l’indice recherché. Dans les exemples d’utilisation de la fonction, on peut voir que la chaîne “thon” est trouvée à l’indice 2 dans s, alors que la chaîne “thons” n’est pas trouvée dans s, ce qui est correct.

Leave a Reply