Trouver toutes les positions d'une lettre dans une chaine
Zgo
-
Modifié le 24 avril 2021 à 18:03
Gandalfix
Messages postés56Date d'inscriptionvendredi 12 juin 2020StatutMembreDernière intervention19 mars 2023
-
24 avril 2021 à 06:12
Bonjour,
J'ai un exercice proposé : soit ch une chaine, c un caractère, si c existe on affiche toutes ses positions, si c n'existe pas on affiche c n'existe pas.
Donc j'ai préparé ce code:
Ch="occurrence"
Chnee="c"
If chnee in ch:
Pos=ch.find("c")
Print ("le caractère recherché est a la position:", pos)
Else:
Print ("c n'existe pas dans ch")
Mais le problème est que Python n'affiche que la première position alors que j'ai besoin de toutes les positions.
Merci en avance
A voir également:
Parcourir une chaine de caractère en python
Parcourir chaine de caractere python - Meilleures réponses
Trouver la position d'un caractère dans une chaine python - Meilleures réponses
2. Pour trouver toutes les lettres, vous pouvez :
2.1 boucler sur toute la longueur de la chaine en comparant la lettre recherchée avec toutes les lettres du mots.
2.2 Réutiliser la méthode find : la syntaxe de cette méthode est string.find(value, start, end) start et end étant optionnel, on peut donc refaire une recherche à partir de pos+1 (si pos n'est pas la dernière lettre de la chaine sur laquelle on fait la recherche).
Gandalfix
Messages postés56Date d'inscriptionvendredi 12 juin 2020StatutMembreDernière intervention19 mars 20237 24 avril 2021 à 06:12
Petite précision : Vous pouvez utiliser la méthode string.count(lettre) pour savoir combien de fois la lettre apparait dans le mot. Pratique pour faire une boucle.