La course cycliste (I)

Une course cycliste se dispute.

Les coureurs - source : Wikimedia

Chaque participant est identifié par son prénom : "Nadia", "Franck". On garantit que tous les prénoms sont différents.

Durant la course, les cyclistes se doublent les uns les autres, le classement évolue. À chaque instant, les positions des coureurs dans le classement sont stockées de façon ordonnée dans un tableau : le premier du classement se trouve à la première position du tableau, le deuxième à la deuxième position, etc.

Par exemple avec classement = ["Nadia", "Franck", "Thomas", "Elizabeth", "Laure"], Nadia est la première du classement et Laure la dernière.

On demande d'écrire plusieurs fonctions autour cette situation.

Fonction nombre_coureurs

La fonction nombre_coureurs prend en paramètre le tableau classement et renvoie le nombre de participants à la course.

Console Python
>>> classement = ["Nadia", "Franck", "Thomas", "Elizabeth", "Laure"]
>>> nombre_coureurs(classement)
5

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /

.128013goPSdn1)l_(hupm/wceyv r2t=akfb:si050f0t0z0B0H0j0G0w0s0j0B0G0G0A010z0H0o010406050G0n0p0p0B0x0u040e0c0j0n0Y0c0g050q0)0+0-0/0%0o0405120{150q120%0f0H0v0Q0S0U0W0m0H0b0m0j1j0m0z0#050L0E0j0t1e0T0V011i1k1m1k0z1s1u1q0z0x130z0m1w1g010D0N0t0g0B0p0t010Q0=0G0o0B0g0W0y1q1!1$1N1y1Q1u1T1V0#0a0w0d0x0c0o0c0G0H0^0g0w0J1Y0x0x0t0s200{1+0g130q1L2d1I1K1J1r0f1-0W1m0g1S1}1q1b1d0R1x2n0H2p0g0c2t1q0o26132b2d2H0(1#212v1O2A0x0,0j0#0h2a2L0$2K1,2N1y2P2R0#0y2V1$2d2E0t2d2t2g0f1K2l2!0W0s2B1W132:142F2Y2c2*322`0J2G2L2m010C0#0J0D33372Z1f1y0r0#0w3f31390g0D0#2A0p0E260k2`0n263z0G3n2b390!040l3D382^010g0#2!0t1V0g0z3J3h2w013G0i0F3f060w3%3m3E3L3b04260z3z0`0|2W3)3K3i0W0g0E0#1:3U2M3_3X0#3I3=2+3o3L3N043P3R3T45323*413Y3#0{352.16300q2~2e2=0{2h4t0B1t4m4p1c2X4p0K0M0O04.
Fonction premier

La fonction premier prend en paramètre le tableau classement et renvoie le nom du coureur en première position.

Console Python
>>> classement = ["Nadia", "Franck", "Thomas", "Elizabeth", "Laure"]
>>> premier(classement)
'Nadia'

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /

.128013goPSdn1)l(hu]pm/wceyv r2[0t=akfb:si050f0t0B0D0J0j0I0w0s0j0D0I0I0C010B0J0o010406050I0m0p0p0D0x0u040e0c0j0m0!0c0g050q0+0-0/0;0)0o0405140}170q140)0f0J0v0S0U0W0Y0l0J0b0l0j1l0l0B0%050N0G0j0t1g0V0X011k1m1o1m0B1u1w1s0B0x150B0l1y1i010F0P0t0g0D0p0t010S0@0I0o0D0g0Y0y1s1$1(1P1A1S1w1V1X0%0a0w0d0x0c0o0c0I0J0`0g0w0L1!0x0x0t0s220}1-0g150q1N2f1K1M1L1t0f1/0Y1o0g1U1 1s1d1f0T1z2p0J2r0g0c2v1s0o28152d2f2J0*1%232x1Q2C0x0.0j0%0h2c2N0(2M1.2P1A2R2T0%0y2X1(2f2G0t2f2v2i0f1M2n2$0Y0s2D1Y152=162H2!2e2,342|0L2I2N2o010E0%0L0F35392#1h1A0r0%0w3h333b0g0F0%2/0p0J0t0x3p2d3b0$040k3A3a2`010g0%2$0t1X0g0B3G3j2y013D0i0H3h060w3!3o3B3I3d04280B0m0x0|0~2Y3$3H3k0Y3K043M3O3Q3:2-3q3I3D0z3R2O3@013w0%0A443C0%0n3Y0}372:18320q302g2@0}2j4p0D1v4i4l1e2Z4l0M0O0Q04.
Fonction dernier

La fonction dernier prend en paramètre le tableau classement et renvoie le nom du coureur en dernière position.

Console Python
>>> classement = ["Nadia", "Franck", "Thomas", "Elizabeth", "Laure"]
>>> dernier(classement)
'Laure'

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /

.128013god)lh]é3m/zReNy-Tè0r.kbFsP,Sn1A_(uEpwcLO45v q2[êD;t=af:i050d0o0!0$0)0f0A0T0N0f0$0A0A0#010!0)0L010406050A0J0k0k0$0v0q040D0c0f0J0}0c0E0T020$0k0L0Z0T0n0o170v0U0J0o0A050l1416181a120L04051F1y1I0l1F120d0)0S0=0@0_0{0g0)0b0g0f1W0g0!10050-0y0f0o1R0^0`011V1X1Z1X0!1)1+1%0!0v1G0!0g1-1T010%0/0o0E1l0o010=1d0A0L0$0E0{0V1%2d2f211/241+270k29040a0T0B0v0c0L0c0A0)1g1i0+2b0v0v0o0N2D1y2k0E1G0l1 2P1|1~1}1(0d2m0{1Z0E262A1%1O1Q0?1.2Z0)2#0E0c2)1%0L2I1G2N2P2`132e1i2+222:0v170f100F2M2~112}2l301/3234100V382f2P2@0o2P2)2S0d1~2X3d0{0N2;2s0*1P1G3m2_393j2O053w0+3D3c1S1/0x100+0%3F3K2 3M0{0M100T3S3b3U2,010E0%3P0o0v0E0)3,3!2N2Y010 040I3;2~3?0E103d1r260!3{3L3%3^0e0(3S060T4c3Z3=3u013O042I0!0J3-3S4e3|4g3~04402r0E431z3E4f3V3@100W443$310y102p4F3?3^3`4y3k3#3}3 3M414w4L4g474o4R4g0c100r4!4A3%0k0)364X4B3^0h4a1y3I3n1J2^1y3p1y0!3r4 2V2Q0$1*4`0l3p1E3T3?2I0k0H0%0$0x0o0H0g0j101q1s1u1w0T494P3G1L3a1F0P1i2z0J0S0.0!0T0i0b0$1+4v5F2y0!3,0T5B0v0T0@0T0A1d1f0)1h5V0J1P2f5O5s1J3a2)3?1;1Y1!1$5b4g2o2628100D0N0v0~5F0B0q1 1h3!3C3#2{3E4_5?4B4i3Q4:3%3X043Z5u6b3%3)3+3-3/0v6f224N6s3e4T1.4V4x2|4+6t10484a4d4p4531100-0/1+4*4q4B4%040#6P6J6w042:0k0y2I0H3w4m0o4m1x6k4#4;104O6B6Q6m6x0_6z6v0{4Z6k4c6.3%0N0F10030T2I0E0S0c3/5T260I4u420e6G4d70224i4k4m0E6V4G6X7f4W6-6C1/3^4E7v6?6K046M0f6O6~7k1/6S4)7H7w0{4-4/7A6W6|104?6k120l6a4{57591H040Y2f0;0N1,0N0^0C2v620g5!0$1f0c5~0A1,0J1i0v0$0N6(0v0N0)0w0T0G0J5T3/8a0d002.1O5q5S0f8f0E1O7,3Z4_5.1!1?1#2j7B6X7E7G2`6I7r0{7K6{017P04376-7Y3x047:5!0L6*5F2B1m5K420T2:5O5S3H3x8r1=5;8v7S018E7R8C8G4.8I3!8L3J0w060O0$0T0%1h2K5Z2E0o0S3/4w0T5J7`0;5t1M3z2*4B5/8t5=7I0{5^2q2s5|5~0L607=646-662|6-7Z7N4h3+3R8.3?6h6j6=8+6n040+6p3:9D4Y6:8F4s7t6A4z8w7T046F7W6H9j9A4j0,7o7q4S4t4U5L8F7y8F8-9H8/8H8J9@4M7U4@8@5766583A5a7)0E0;1+0T0k0X2r0T1w2@2C7:8k0$5D4w0r9L3.5P0i0f0i5L0T8e7~0T1_0o7^975Q0c4m0T8g0)8o051r6Y5H0$0}9CaK8p8$4g9g8)6l229?9V8+8H3i8K6aah005(0i0L0i0E0J0f0}0tac8#2FaT8saV9$aY4Q9z8H0j8?a(3ZaK0,0N1yaK0w5+1N1P8%5:1@8*8/9l5`1b5}5 7;637p9u4|9w2|9y9W017274aF8maH5r2z0A876H0T0u0T0rbMbN020b0!1o0FbLbNbMbPbR0T0VbUbVbObQ1o0jb#bWb(0T0Q4@9z9S9.429+4$106U7Mbx9;9O4B0A2i04010p0$1O0$019:100Cb^c0c2010z800E0N3Oca8Ncd3%c110010s7?170Ac9b 46cbco22cqc30K1Z0m550,0gcx9{9Pcnb|8+cD018{6)cLaZ8/4=b:bxbz0475aG7,0;0E5HbH4d0r0R1ja;0Zb$bL0Qc;bRc@0rb*02c=b$bNbLb!c c{d20r9`397X7Z1L4|a20S3a580,0.0:04.
Fonction coureur_en_position

La fonction coureur_en_position prend en paramètre le tableau classement et un entier position et renvoie le nom du coureur à cette position.

On garantit que la position passée en argument à cette fonction est valide (comprise entre 1 et le nombre de coureurs participants).

Console Python
>>> classement = ["Nadia", "Franck", "Thomas", "Elizabeth", "Laure"]
>>> coureur_en_position(classement, 1)
'Nadia'
>>> coureur_en_position(classement, 3)
'Thomas'

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /

.128013goP,Sdn1)l_(hu]pm/wcey-v r2[t=akfb:si050g0v0D0F0L0k0K0z0u0k0F0K0K0E010D0L0q010406050K0o0r0r0F0A0w040f0c0k0o0$0c0h050s0-0/0;0?0+0q0405160 190s160+0g0L0y0U0W0Y0!0n0L0b0n0k1n0n0D0)050P0I0k0v1i0X0Z011m1o1q1o0D1w1y1u0D0A170D0n1A1k010H0R0v0h0F0r0v010U0_0K0q0F0h0!0B1u1(1*1R1C1U1y1X1Z0)0a0z0d0A0c0q0c0K0L0|0h0z0N1$0A0A0v0u240 1/0h170s1P2h1M1O1N1v0g1;0!1q0h1W211u1f1h0V1B2r0L2t0h0c2x1u0q2a172f2h2L0,1)252z1S2E0A0:0k0)0i2e2P0*2O1:2R1C2T2V0)0B2Z1*2h2I0v2h2x2k0g1O2p2(0!0u2F1!172@182J2$2g2.362~0N2K2P2q010G0)0N0H373b2%1j1C0t0)0z3j353d0h0H0)2~0o2a3y0l1W0l20222d102!3s2|010(040m3r2f3t3w3m0v1Z0h0D3P3c3K3M0e3j3q3Q3K0h0)3E230L0}3Y3l2A3L0)0j0J3j060z3}3(3Z3m0!3f042a0D3y0~3H2/3 3=2S3S1B3U1W3X49363)413@040C3;2Q4m3+043-3G2L4b4r3?0c0)0x3%3J4m0r0L2X4q3d3M0p3{0 392=1a340s322i2_0 2l4Y0F1x4R4U1g2#4U0O0Q0S04.