Adloun

Compter les occurrences

Exercice · niveau 1 (application) · mathématiques appliquées (ECG 1re année), chapitre 11 — Informatique et algorithmique · Parcours et boucles imbriquées

Énoncé

Écrire compte(L, x) qui renvoie le nombre d'occurrences de x dans L, sans utiliser L.count.

Corrigé


def compte(L, x):
    n = 0
    for element in L:
        if element == x:
            n = n + 1
    return n

Un seul parcours, un compteur : la complexité est en , et l'on ne peut pas faire mieux — il faut bien regarder chaque élément au moins une fois pour savoir s'il vaut x.

Deux détails. On itère sur les éléments plutôt que sur les indices : c'est plus lisible et l'on ne peut pas se tromper de borne. Et sur une liste vide, la boucle ne s'exécute pas et la fonction renvoie , ce qui est la bonne réponse sans qu'aucun cas particulier n'ait été écrit.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.