Exercice 88
Ecrire un algorithme en Python sous forme de fonction qui prend en paramètre une chaîne de ncaractères s et qui renvoie le premier mot répété dans la chaîne s.
Exemple: si s = "python programming language, is the most popular programming language", la fonction renvoie le mot: 'programming'.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
def premier_mot_repete(s): mots = s.split() # Sépare la chaîne en une liste de mots mots_uniques = set() # Initialise un ensemble vide pour stocker les mots uniques premier_mot_repete = None # Initialise la variable qui stockera le premier mot répété à None for mot in mots: if mot in mots_uniques: # Si le mot est déjà dans l'ensemble des mots uniques, alors c'est le premier mot répété premier_mot_repete = mot break # On sort de la boucle car on a trouvé le premier mot répété else: mots_uniques.add(mot) # On ajoute le mot à l'ensemble des mots uniques return premier_mot_repete # Exemple s = "python programming language, is the most popular programming language" mot_repete = premier_mot_repete(s) print(mot_repete) # Affiche "programming" |
Dans ce programme:
- On utilise la méthode split(): pour transformer la chaîne s en une liste de mots.
- On initialize ensuite un ensemble mots_uniques: un ensemble vide pour stocker les mots uniques rencontrés, ainsi qu'une variable pour stocker le premier mot répété, initialisée à None.
- for mot in mots: on itère sur la liste mots.
- Pour chaque mot: elle vérifie s'il est déjà présent dans l'ensemble des mots uniques. Si c'est le cas, alors ce mot est le premier mot répété, et la fonction le retourne immédiatement.
- Si le mot n'est pas encore présent dans l'ensemble des mots uniques: la fonction l'ajoute à cet ensemble.
- La fonction retourne none: Si elle arrive à la fin de la boucle sans avoir trouvé de mot répété.
Younes Derfoufi
CRMEF OUJDA
Acheter sur Très Facile !
1 thought on “Solution Exercice 88: premier mot répété dans une chaine en python”