Laurentvidal.fr simplifie la recherche de solutions à toutes vos questions grâce à une communauté active et experte. Trouvez des solutions rapides et fiables à vos interrogations grâce à une communauté d'experts dévoués. Rejoignez notre plateforme pour obtenir des réponses fiables à vos interrogations grâce à une vaste communauté d'experts.
Sagot :
Bonjour
Ci-joint tu trouvera le code complet de la fonction permettant de calculer la fréquence d'apparition d'une lettre dans une phrase.
Explication du code par ligne
▌def compter_lettre(phrase, lettre):
Bon bha ici c'est assez explicite, on déclare une fonction qui admetra deux arguments
- phrase, pour entrer la phrase complète
- lettre, pour la lettre à chercher
▌ x = lettre
▌ n = 0
▌ espace = 0
Le x c'est simplement pour simplifier le raisonement et le rendre plus explicite.
Le n ca va être le nombre de fois que la lettre cherchée va apparaitre
La variable 'espace' c'est pour soustraire les espaces du comptes à la fin puisque pour calculer la fréquence ils poserait problème vu que c'est considéré comme une caractère.
▌ for caractere in phrase:
Là on initie une boucle for qui va passer sur chaque élément, qu'on a appelé caractere, de la phrase entrée en argument de notre fonction.
▌ if caractere == x:
▌ n = n + 1
Si le caractère est x, donc si le caractère est égal à la lettre recherchée, alors on ajoute 1 à notre compteur (la variable n) défini plus haut.
▌ elif caractere == ' ':
▌ espace = espace + 1
Sinon, si le caractère est un espace, on ajoute 1 au compteur du nombre d'espaces, pour les soustraire lors du calcul final pour la fréquence.
▌return n / ( len(phrase) - espace )
Il est temps de renvoyer la valeur finale, pour ça on divise le nombre de fois qu'on a rencontré la lettre (la variable n qui nous a servi à compter) par la longueur de la phrase en y soustrayant les espaces.
Voilà
Il me semblait normal de ne pas compter les espaces comme des lettres en soit et donc de les soustraire mais si tu n'es pas d'accord il suffit de supprimer la ligne 4, 8, 9 et de changer la ligne 10 pour:
▌return n / len(phrase)
Bonne journée ;)
Si tu as des questions tu peux les poser en commentaire.
Merci de votre passage. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. À bientôt. Nous apprécions votre temps. Revenez quand vous voulez pour obtenir les informations les plus récentes et des réponses à vos questions. Nous sommes fiers de fournir des réponses sur Laurentvidal.fr. Revenez nous voir pour plus d'informations.