Nombre d'élements

Le cours

Longueur

Pour obtenir le nombre d'éléments d'un tableau tab, on peut le passer en paramètre de la fonction len avec le code : len(tab).

Étudiez l'exemple suivant. Vous pouvez exécuter son code.

Exercices

Afficher une moyenne ou un message

Vous disposez d'une fonction moyenne qui prend en paramètre un tableau non vide de nombres et renvoie la moyenne de ces nombres. Vous pouvez donc utiliser cette fonction dans votre code, sans la programmer.

Programmez une fonction texte_moyenne qui prend en paramètre un tableau de nombres. Si ce tableau contient des nombres, la fonction texte_moyenne doit renvoyer la moyenne de ces nombres. Mais si le tableau est vide (il ne contient aucun nombre), alors la fonction foit renvoyer le texte "Vous n'avez pas de note !".

(3 lignes masquées)
Progrès ?

Programmez une fonction Python progres qui prend en paramètre un tableau de notes, c'est-à-dire un tuple ou une liste comprenant uniquement des nombres.

Cette fonction doit mesurer les progrès d'un élève ayant eu ces notes.

Plus précisément, si le tableau contient moins de deux notes, la fonction renvoie "Pas assez de notes.".

Si le tableau contient suffisamment de notes, la fonction compare uniquement la première et la dernière note. Si la première note est inférieure à la dernière, la fonction renvoie "Progrès !", si la première note est supérieure à la dernière, elle renvoie "Régression." et si ces deux notes sont égales, la fonction renvoie "Pas de changement.".

Fil rouge : Picus

Picus sharpei, Parque de El Retiro, Madrid - 01

Picus est un oiseau. Sur son territoire, il y a des arbres qu'il visite chaque jour pour y chercher des insectes à manger.

Dans la tête de Picus, les arbres sont numérotés : il y a le premier arbre, le deuxième, etc. toujours dans le même ordre.

Vous aller simuler cette situation avec des tableaux : pour Picus, un "territoire" est un tableau qui ne contient que des booléens, chacun de ces booléens représentant un arbre. Chaque élément d'un "territoire" est égal à True si Picus a déjà visité l'abre aujourd'hui, False sinon. Vous pouvez remplacer ces booléens par des 0 et des 1 comme vu dans le cours sur les booléens.

Par exemple, un territoire de trois arbres dont seul le premier a été visité sera codé par (1, 0, 0) ou [1, 0, 0].

Picus : Choisir un territoire

Picus a décidé de voyager. Il vient de trouver deux territoires et va choisir de s'installer dans celui qui comporte le plus d'arbres. Il visite le premier territoire, puis le deuxième. Si le deuxième territoire possède un nombre d'arbres supérieur ou égal au premier, il s'installe dans ce deuxième. Sinon, il revient s'intaller au premier.

Programmez une fonction choix_territoire qui prend en paramètres deux tableaux.

Si le deuxième tableau contient au moins autant d'éléments que le premier, la fonction renvoie 2. Sinon, elle renvoie 1.

Picus : Prochain arbre

Juste après avoir visité un arbre, Picus va voir trois arbres plus loin.

Autrement dit, après avoir visité l'arbre d'indice i de son territoire, Picus va visiter l'arbre d'indice i+3.

Mais ce n'est pas toujours possible, car il peut être arrivé à la fin du tableau. Dans ce cas, il continue en reprenant au début : si i est le dernier indice du tableau, au lieu de l'arbre d'indice i+1 il choisit le premier et à la place de l'arbre d'indice i+2 il prend le deuxième, etc. Comme si les arbres étaient disposés en cercle.

Programmez une fonction suivant_plus_trois qui prend en paramètres un tableau et un nombre entier i. Cette fonction doit renvoyer l'endroit où se trouve l'arbre d'indice i+3.

Attention, dans cet exercice la longueur des tableaux est variable, on sait seulement qu'elle est toujours au moins égale à 3.