La course cycliste(III)
Une course cycliste se déroule sur un circuit permettant de nombreux dépassements.

Par ludovic from Guissény. (Bretagne, Finistère), France — Tro Bro Leon 2009, CC BY-SA 2.0, Lien
Chaque cycliste est identifié par un dossard sur lequel est inscrit son prénom : "Nadia", "Djamil"...
On garantit que tous les prénoms sont différents.
Leurs places dans le classement sont stockées de façon ordonnée dans une liste : le premier du classement se trouve à la première position de la liste, le deuxième à la deuxième position, etc... Par exemple classement_actuel = ["Nadia", "Djamil", "Thomas", "Elizabeth", "Laure"]. Nadia est la première et Laure la dernière.
Écrire la fonction position qui prend en paramètres le tableau qui stocke la course et une chaine de caractères contenant le dossard d'un cycliste et qui renvoie la place de ce cycliste dans la course. On supposera que le dossard donné est bien présent dans le classement.
Attention
La place du coureur dans le classement ne correspond pas exactement à l'indice du tableau : le coureur à la première place sera à la première position du tableau, celui à la deuxième place en deuxième position, etc...
>>> position(classement_actuel, "Nadia")
1
>>> position(classement_actuel, "Thomas")
3
Il peut arriver qu'un cycliste crève, et se fasse doubler par tous les autres coureurs et se retrouve à la dernière place, puis reparte.
On dispose de la fonction dernier qui prend en paramètre le tableau qui stocke la course et qui renvoie le coureur à la dernière place du classement.
Exemple
>>> dernier(classement_actuel)
'Laure'
On dispose de la fonction depasse qui prend en paramètres le tableau qui stocke la course et la place d'un coureur et modifie puis renvoie le tableau avec le coureur qui est passé devant le coureur précédent.
Exemple
>>> classement_actuel = ["Nadia", "Djamil", "Thomas", "Elizabeth", "Laure"]
>>> depasse(classement_actuel, 3)
>>> classement_actuel
['Nadia', 'Thomas', 'Djamil', 'Elizabeth', 'Laure']
- Écrire la fonction
crevaisonqui prend en paramètres le tableau qui stocke la course et le dossard d'un coureur qui a crevé et modifie puis renvoie le tableau.
Modification en place
La liste classement est directement modifiée, il ne faut pas construire une nouvelle liste.
Il est inutile de la renvoyer modifiée.
Indication
On partira du principe que tous les coureurs derrière le malchanceux coureur le doublent jusqu'à ce que le coureur soit le dernier.
Contrainte
On utilisera obligatoirement les fonctions position, depasse et dernier.
Exemple
>>> crevaison(course, "Thomas")
>>> classement_actuel
['Nadia', 'Djamil', 'Elizabeth', 'Laure', 'Thomas']
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)