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
chaîne_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
chaîne_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaînes 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 apparaît plusieurs fois dans la chaîne chaîne_entrée. Comme on connaît déjà le premier indice où il apparaît, on cherche s'il apparaît aussi plus tard.
Fonction donne_prochain_indice(chaîne:str, indice:int) -> int
Créer la fonction donne_prochain_indice(chaîne:str, indice:int) -> int qui rend :
- Le plus petit indice $j$ strictement plus grand que le paramètre
indicetel quechaîne[j] == chaîne[indice], Nonesi cet indice n'existe pas.
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 apparaît plusieurs fois dans chaîne_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
chaîne_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaînes de caractères) (question 1) - Afficher si
caractère_entréeest présent plus d'une fois danschaîne_entrée(question 2)
3. Compte
On veut finalement savoir combien de fois apparaît caractère_entrée dans la chaîne chaîne_entrée. Comme on connaît sa première position grace à la question 1 et qu'on peut connaître la suivante grace à la question 2, on va terminer le boulot et compter combien de fois apparaît caractère_entrée dans chaîne_entrée.
Fonction compte_caractère(chaîne: str, indice: int) -> int
Créer la fonction compte_caractère(chaîne: str, indice: int) -> int qui rend le nombre de fois où le caractère chaîne[indice] est présent dans le paramètre chaîne
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 apparaît dans chaîne_entrée.
L'étape 3. du programme principal sera alors constitué de trois actions :
- Afficher à l'écran le plus petit indice (ou -1) de
chaîne_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaînes de caractères) (question 1) - Afficher à l'écran si
caractère_entréeest présent plus d'une fois danschaîne_entrée(question 2) - Afficher à l'écran le nombre de fois où
caractère_entréeapparaît danschaîne_entrée(question 3)
4. Maximum
Cerise sur le gateau, on cherche à savoir si caractère_entrée est le caractère qui apparaît le plus de fois dans chaîne_entrée.
Fonction donne_max_doublon(chaîne: str) -> str
Créer la fonction donne_max_doublon(chaîne: str) -> str qui rend le caractère de chaîne apparaissant le plus de fois.
Créer la fonction donne_max_doublon(chaîne: str) -> str qui rend le caractère de chaîne apparaissant le plus 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
chaîne_entréevalantcaractère_entrée(vous pourrez utiliser la méthodefinddes chaînes de caractères) (question 1) - Afficher à l'écran si
caractère_entréeest présent plus d'une fois danschaîne_entrée(question 2) - Afficher à l'écran le nombre de fois où
caractère_entréeapparaît danschaîne_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)