L'obsession des nombres pairs

Required Files: student.py (Download)
Maximum number of files: 5
Type of work: Individual work

Note: vous êtes libres d'écrire les fonctions demandées dans l'ordre que vous souhaitez. Lisez l'énoncé en entier avant de commencer. Vous pouvez bien sûr, à l'intérieur d'une fonction, faire des appels aux fonctions que vous avez écrites plus haut.

De plus, dans cet exercice, tous les nombres considérés seront des entiers positifs ou nuls. Les listes passées en argument ne doivent pas être modifiées.

  • Ecrire une fonction somme_pairs qui prend en argument une liste et qui renvoie la somme des nombres pairs contenus dans la liste.

Exemple : somme_pairs([4, 7, 12, 0, 21, 5]) vaut 16 (car 16=4+12+0).

  • Ecrire une fonction nb_elem_pairs qui prend en argument une liste et qui renvoie le nombre d'entiers pairs contenus dans la liste.

Exemple : nb_elem_pairs([4, 7, 12, 0, 21, 5]) vaut 3 (car 4, 12 et 0 sont pairs).

  • Ecrire une fonction max_pair qui prend en argument une liste et qui renvoie le plus grand entier pair contenu dans la liste. On supposera pour simplifier (dans cette question uniquement) que la liste contient toujours au moins un nombre pair.

Exemple : max_pairs([4, 7, 12, 0, 21, 5]) vaut 12.

  • Ecrire une fonction min_pair qui prend en argument une liste et qui renvoie le plus petit entier pair contenu dans la liste. Si la liste ne contient aucun entier pair, la fonction renverra None.

Exemple : min_pairs([4, 7, 12, 0, 21, 5]) vaut 0 et min_pairs([9, 3, 1]) vaut None.

  • Ecrire une fonction indice_de qui prend en argument un entier (supposé pair) et une liste, et qui renvoie l'indice auquel apparaît cet entier dans la liste. Si l'entier n'apparaît pas, la fonction renverra None. On suppose ici pour simplifier que l'entier cherché n'apparaît pas plusieurs fois dans la liste. Indice: si la boucle for e in liste ne vous convient pas, n'oubliez pas que vous pouvez faire un for + range ou un while...

Exemple : indice_de(12, [4, 7, 12, 0, 21, 5]) vaut (car 12 est placé à l'indice 2), et indice_de(6, [4, 7, 12, 0, 21, 5]) vaut None.

  • Ecrire une fonction trouve_premier_pair qui prend en argument une liste et qui renvoie l'entier pair qui apparaît en premier dans la liste. Si la liste ne contient pas d'entier pair, la fonction renverra None.

Exemple : trouve_premier_pair([1, 15, 4, 7, 12, 3]) vaut  4 et trouve_premier_pair([1, 17, 7]) vaut  None.

  • Ecrire une fonction extrait_pairs qui prend en argument une liste l1 et qui renvoie la liste obtenue à partir de l1 en ne gardant que  les entiers pairs (et sans changer leur ordre). Attention, l1 ne doit pas être modifiée par la fonction.

Exemple : extrait_pairs([4, 7, 12, 0, 3]) vaut  [4, 12, 0] et extrait_pairs([21, 17, 3]) vaut  [ ].

    (Exercice proposé par Aurélie Lagoutte)

    Requested files

    student.py

    Loading