Lorsqu'on cherche un élément dans un tableau, c'est généralement pour retrouver sa position. Supposons maintenant que cet élément soit présent en plusieurs exemplaires et qu'on veuille toutes les positions où il est présent.
def positions(liste, element) : ... return une liste l = [ 4,3,3,6,4,3 ] print ( positions(l, 3) ) # affiche [1,2,5]
Dans un second temps, on veut transformer la liste l en un dictionnaire de sorte que la fonction positions ne contienne plus de boucle. Quelle est la solution la plus rapide ?
On reprend le même texte que celui de l'exercice précédent. On veut connaître le nombre maximum de mots qu'on peut trouver entre deux mots commençant par une voyelle.
# source du texte : http://www.gutenberg.org/files/1567/1567-h/1567-h.htm#link2H_4_0017 texte = """They are rattling breakfast plates in basement kitchens, And along the trampled edges of the street I am aware of the damp souls of housemaids Sprouting despondently at area gates. The brown waves of fog toss up to me Twisted faces from the bottom of the street, And tear from a passer-by with muddy skirts An aimless smile that hovers in the air And vanishes along the level of the roofs.""".replace("\n"," ").lower().split() def nombre_de_mot_maximum(mots) : ... return un_nombre
On veut calculer la longueur moyenne des mots ayant le même nombre de voyelles. Le résultat est un dictionnaire où chaque élément vérifie :
# source du texte : http://www.gutenberg.org/files/1567/1567-h/1567-h.htm#link2H_4_0017 texte = """They are rattling breakfast plates in basement kitchens, And along the trampled edges of the street I am aware of the damp souls of housemaids Sprouting despondently at area gates. The brown waves of fog toss up to me Twisted faces from the bottom of the street, And tear from a passer-by with muddy skirts An aimless smile that hovers in the air And vanishes along the level of the roofs.""".replace("\n"," ").lower().split() def moyenne_longueur_pour_chaque_nombre_de_voyelles(mots) : ... return un dictionnaire
On veut écrire une fonction qui compte le nombre de voyelles dans un mot.
def compte_voyelles(mot): ... return le nombre de voyelles print (compte_voyelles("oui")) # doit afficher 3 print (compte_voyelles("non")) # doit afficher 1
On veut écrire une fonction qui détermine si une lettre est une voyelle.
def est_voyelle(c): ... return 0 ou 1 print (est_voyelle("a")) # doit afficher 1 print (est_voyelle("b")) # doit afficher 0Il faut écrire cette fonction de trois manières différentes :