Exercice 77
Ecrire un programme en Python sous forme de fonction qui détermine le premier index d'une occurrence existante dans une chaîne s passée en paramètres sans utiliser aucune des méthode prédéfinie comme find() ou rfind() ... L'algorithme doit renvoyer -1 si l'occorrence n'existe pas dans la chaîne s.
Exemple: si s = "Le langage de programmation Python est le meilleur langage" et occ = "lang" l'algorithme renvoie 3
Solution
1 2 3 4 5 6 7 8 9 10 |
# fonction qui détermine l'index de la première occurrence def index_of_occurrence(s, occ): for i in range(len(s)): if s[i:i+len(occ)] == occ: return i return -1 s = "langage de programmation Python" occ = "prog" print(index_of_occurrence(s, occ)) # Output: 11 |
Explication:
- La fonction prend deux arguments: la chaîne s et l'occurrence recherchée occ.
- La boucle for: parcourt chaque index i de 0 à len(s) - 1.
- Pour chaque index i: on vérifie si la sous-chaîne de s commençant à l'index i et de longueur len(occ) est égale à l'occurrence recherchée occ. Si c'est le cas, on renvoie l'index i.
- Si on parcourt toute la chaîne s: sans trouver l'occurrence recherchée, on renvoie -1.
- Dans cet exemple: l'occurrence "lang" se trouve à l'index 3 de la chaîne s.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 77: algorithme python qui détermine une occurrence dans une chaine”