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.
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 !"
.
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."
.
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 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.
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.