Le compte est bon
1. Création du programme principal
Créer le fichier main.py qui va contenir le programme principal. Celui-ci consistera à demander à l'utilisateur une chaîne de caractères et un caractère et l'on cherchera à savoir combien de fois apparaît le caractère dans la chaîne. Nous allons répondre à cette question en 3 questions.
Créer dans le fichier main.py le code permettant d'exécuter les 4 étapes de l'algorithme suivant :
- Demander à l'utilisateur une chaîne de caractères que l'on nommera chaine_entrée(en utilisant la fonctioninput([prompt: str]) -> str)
- Demander à l'utilisateur un caractère que l'on nommera caractère_entrée(vous ne ferez aucune vérification de type)
- Afficher à l'écran le plus petit indice (ou -1) de chaine_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaines de caractères)
- Retournez à l'étape 1. de cet algorithme à part si chaîne_entréevalait"sortie"
2. Prochain indice
On veut savoir si le caractère caractère_entrée apparait plusieurs fois dans la chaine chaine_entrée. Comme on connait déjà le premier indice où il apparait, on cherche s'il apparait aussi plus tard.
Fonction donne_prochain_indice(chaine:str, indice:int) -> int
Créer la fonction donne_prochain_indice(chaine:str, indice:int) -> int qui rend :
- Le plus petit indice $j$ strictement plus grand que le paramètre indicetel quechaine[j] == chaine[indice],
- Nonesi cet indice n'existe pas.
Tests de donne_prochain_indice(chaine:str, indice:int) -> int
Vous pourrez tester que :
- donne_prochain_indice("bxaaxaaaxax", 4)rende 8
- donne_prochain_indice("bxaaxaaaxax", 0)rende- None
Ajout de question 2 au programme principal
On ajoute notre fonction au programme principal :
Dans l'étape 3. de l'algorithme du programme principal, utilisez la fonction que vous venez de coder pour ajouter un affichage qui indique si caractère_entrée apparait plusieurs fois dans chaine_entrée ou pas.
L'étape 3. du programme principal sera alors constitué de deux actions :
- Afficher à l'écran le plus petit indice (ou -1) de chaine_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaines de caractères) (question 1)
- Afficher si caractère_entréeest présent plus d'une fois danschaine_entrée(question 2)
3. Compte
On veut finalement savoir combien de fois apparaît caractère_entrée dans la chaîne chaine_entrée. Comme on connait sa première position grace à la question 1 et qu'on peut connaitre la suivante grace  à la question 2, on va terminer le boulot et compter combien de fois apparaît caractère_entrée dans chaine_entrée.
Fonction compte_caractère(chaine: str, indice: int) -> int
Créer la fonction compte_caractère(chaine: str, indice: int) -> int qui rend le nombre de fois où le caractère chaine[indice] est présent dans le paramètre chaine
Tests de compte_caractère(chaine: str, indice: int) -> int
Vous pourrez tester avec :
- Un caractère non présent dans la chaine
- Un caractère présent plusieurs fois dans la chaine
Ajout de question 3 au programme principal
Dans l'étape 3. de l'algorithme du programme principal, utilisez la fonction que vous venez de coder pour ajouter un affichage qui indique le nombre de fois où  caractère_entrée apparait dans chaine_entrée.
L'étape 3. du programme principal sera alors constitué de trois actions :
- Afficher à l'écran le plus petit indice (ou -1) de chaine_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaines de caractères) (question 1)
- Afficher à l'écran si caractère_entréeest présent plus d'une fois danschaine_entrée(question 2)
- Afficher à l'écran le nombre de fois où  caractère_entréeapparait danschaine_entrée(question 3)
4. Maximum
Cerise sur le gateau, on cherche à savoir si caractère_entrée est le caractère qui apparait le plus de fois dans chaine_entrée.
Fonction donne_max_doublon(chaine: str) -> str
Créer la fonction  donne_max_doublon(chaine: str) -> str qui rend le caractère de chaine apparaissant le plus de fois.
Créer la fonction  donne_max_doublon(chaine: str) -> str qui rend le caractère de chaine apparaissant le plus de fois.
Tests
Vous pourrez tester avec une chaine admettant plusieurs caractères répétés un nombre différent de fois.
Ajout de question 4 au programme principal
Dans l'étape 3. de l'algorithme du programme principal, utilisez la fonction que vous venez de coder pour  ajouter un affichage qui le nombre maximum de répétition d'un caractère, et affichez un message de victoire si caractère_entrée réalise ce maximum.
L'étape 3. du programme principal sera alors constitué de quatre actions :
- Afficher à l'écran le plus petit indice (ou -1) de chaine_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaines de caractères) (question 1)
- Afficher à l'écran si caractère_entréeest présent plus d'une fois danschaine_entrée(question 2)
- Afficher à l'écran le nombre de fois où  caractère_entréeapparait danschaine_entrée(question 3)
- Afficher à l'écran  le nombre maximum de répétition d'un caractère, et affichez un message de victoire si caractère_entréeréalise ce maximum. (question 4)