Comptage des voyelles dans un mot avec Python

L’objectif du programme


Ce petit programme va nous permettre de voir comment on manipule facilement les chaînes de caractères avec Python.

Dans la boucle principale, on demande à l’utilisateur de saisir un mot. Le programme affiche alors le nombre de voyelles du mot donné.

Pour sorti de cette boucle, l’utilisateur doit rentrer le mot “fin”.

Le code


# -*- coding:utf-8 -*-

print("Pour sortir de la boucle suivante, il suffira d'entrer le mot \"fin.\n\n")

mot="quelconque"

while mot != "fin" :
    mot=input("Rentrez un mot (sans accent) : ")

    # on met toutes les letres en minuscules
    mot_min=mot.lower()     

    # on crée la liste des voyelles
    liste_voyelles=["a","e","i","o","u","y"] 

    # on initialise le compteur de voyelles
    nb_voyelles = 0         

    # la boucle de comptage
    for lettre in mot_min : 
        if lettre in liste_voyelles :
            nb_voyelles+=1

    # l'affichage du résultat
    if   nb_voyelles == 0 : 
        print("Il n'y a pas de voyelles dans le mot \"" + mot + "\".\n")
    elif  nb_voyelles == 1 :
        print("Il y a une seule voyelle dans le mot \"" + mot + "\".\n")
    else :  
        print("Le mot \"" + mot + "\" contient " + str(nb_voyelles) + " voyelles.\n")

print("\n\n")

input("Appuyer sur ENTER pour terminer le programme. ")

Quelques explications


– Pour transformer toutes les lettres en minuscules, on a utiliser la méthode .lower() qui s’applique aux chaînes de caractères. Il y a aussi la méthode .upper() qui fait le contraire.
– Dans la boucle, la variable lettre va successivement prendre comme valeur chaque lettre du mot.
– On utilise le mot-clé in dans la condition.