débutant
La course cycliste (I)
Une course cycliste se dispute.
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.
assert
?
Le mot clé assert
est utilisé en Python afin de vérifier que des propositions sont vraies.
Ainsi, l'instruction assert 3 + 5 * 7 == 38
permet de vérifier que l'expression 3 + 5 * 7
est bien évaluée à 38
.
Si c'est le cas, le programme continue de se dérouler normalement. Dans le cas contraire, le programme est interrompu et une erreur est signalée.
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
.128013benvimo_tPhklpwf(: cga=rySu/)2s1d050H0c0j0w0f0n0F0t0u0n0w0F0F0x010j0f0o010406050F0B0g0g0w0y0z040A0h0n0B0Y0h0d050C0)0+0-0/0%0o0405120{150C120%0H0f0e0Q0S0U0W0l0f0v0l0n1j0l0j0#050L0b0n0c1e0T0V011i1k1m1k0j1s1u1q0j0y130j0l0Q0=0F0o0w0d0W0E011w1g010q0N0c0d0w0g0c1q1P1R1W1y1Z1u1$1(0#0a0t0k0y0h0o0h0F0f0^0d0t0J1N0y0y0c0u200{1+0d130C1L2d1I1K1J1r0H1-0W1m0d1#1}1q1b1d0R1x2n0f2p0d0h2t1q0o26132b2d2H0(1Q212v1X2A0y0,0n0#0G2a2L0$2K1,2N1y2P2R0#0E2V1R2d2E0c2d2t2g0H1K2l2!0W0u2B1)132:142F2Y2c2*322`0J2G2L2m010m0#0J0q33372Z1f1y0p0#0t3f31390d0q0#2A0g0b260i2`0B263z0F3n2b390!040r3D382^010d0#2!0c1(0d0j3J3h2w013G0D0s3f060t3%3m3E3L3b04260j3z0`0|2W3)3K3i0W0d0b0#1:3U2M3_3X0#3I3=2+3o3L3N043P3R3T45323*413Y3#0{352.16300C2~2e2=0{2h4t0w1t4m4p1c2X4p0K0M0O04.
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'
.128013benvi[motPhklpwf(: cga=ry0S]u/)2s1d050J0c0j0w0f0n0H0t0u0n0w0H0H0x010j0f0o010406050H0D0h0h0w0y0z040B0i0n0D0!0i0d050E0+0-0/0;0)0o0405140}170E140)0J0f0e0S0U0W0Y0l0f0v0l0n1l0l0j0%050N0b0n0c1g0V0X011k1m1o1m0j1u1w1s0j0y150j0l0S0@0H0o0w0d0Y0G011y1i010q0P0c0d0w0h0c1s1R1T1Y1A1#1w1(1*0%0a0t0k0y0i0o0i0H0f0`0d0t0L1P0y0y0c0u220}1-0d150E1N2f1K1M1L1t0J1/0Y1o0d1%1 1s1d1f0T1z2p0f2r0d0i2v1s0o28152d2f2J0*1S232x1Z2C0y0.0n0%0I2c2N0(2M1.2P1A2R2T0%0G2X1T2f2G0c2f2v2i0J1M2n2$0Y0u2D1+152=162H2!2e2,342|0L2I2N2o010m0%0L0q35392#1h1A0p0%0t3h333b0d0q0%2/0h0f0c0y3p2d3b0$040r3A3a2`010d0%2$0c1*0d0j3G3j2y013D0F0s3h060t3!3o3B3I3d04280j0D0y0|0~2Y3$3H3k0Y3K043M3O3Q3:2-3q3I3D0g3R2O3@013w0%0A443C0%0C3Y0}372:18320E302g2@0}2j4p0w1v4i4l1e2Z4l0M0O0Q04.
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'
.128013bqêO,vi3o_;lpwTf( g0]-)2As1ené4è[Em5tLRPhkN:c.a=ryDFzSu/d050)0C0L0V0h0m0A0s0T0m0V0A0A0W010L0h0n010406050A0%0J0J0V0X0Y040$0j0m0%0}0j0D0s020V0J0n0l0s0N0C170X0c0%0C0A050(1416181a120n04051F1y1I0(1F120)0h0g0=0@0_0{0P0h0t0P0m1W0P0L10050-0b0m0C1R0^0`011V1X1Z1X0L1)1+1%0L0X1G0L0P0=1d0A0n0V0D0{0y011-1T010q0/0C0D1l0C1%23252a1/2d1+2g0J2i040a0s0O0X0j0n0j0A0h1g1i0+210X0X0C0T2D1y2k0D1G0(1 2P1|1~1}1(0)2m0{1Z0D2f2A1%1O1Q0?1.2Z0h2#0D0j2)1%0n2I1G2N2P2`13241i2+2b2:0X170m100B2M2~112}2l301/3234100y38252P2@0C2P2)2S0)1~2X3d0{0T2;2s0*1P1G3m2_393j2O053w0+3D3c1S1/0Q100+0q3F3K2 3M0{0o100s3S3b3U2,010D0q3P0C0X0D0h3,3!2N2Y010 040r3;2~3?0D103d1r2f0L3{3L3%3^0x0S3S060s4c3Z3=3u013O042I0L0%3-3S4e3|4g3~04402r0D431z3E4f3V3@100H443$310b102p4F3?3^3`4y3k3#3}3 3M414w4L4g474o4R4g0j100w4!4A3%0J0h364X4B3^0v4a1y3I3n1J2^1y3p1y0L3r4 2V2Q0V1*4`0(3p1E3T3?2I0J0k0q0V0Q0C0k0P0i101q1s1u1w0s494P3G1L3a1F0e1i2z0%0g0.0L0s0E0t0V1+4v5F2y0L3,0s5B0X0s0@0s0A1d1f0h1h5V0%1P255O5s1J3a2)3?1;1Y1!1$5b4g2o2f2h102u0$0T0X0~5F0O0Y1 1h3!3C3#2{3E4_5?4B4i3Q4:3%3X043Z5u6c3%3)3+3-3/0X6g2b4N6t3e4T1.4V4x2|4+6u10484a4d4p4531100-0/1+4*4q4B4%040W6Q6K6x042:0J0b2I0k3w4m0C4m1x6l4#4;104O6C6R6n6y0_6A6w0{4Z6l4c6/3%0T0B10030s2I0D0g0j3/5T2f0r4u420x6H4d712b4i4k4m0D6W4G6Y7g4W6.6D1/3^4E7w6@6L046N0m6P6 7l1/6T4)7I7x0{4-4/7B6X6}104?6l120(6b4{57591H040Z250;0T1,0T0^0f2v630P5!0V1f0j5 0A1,0%1i0X0V0T6)0X0T0h0U0s0z0%5T3/8b0)002.1O5q5S0m8g0D1O7-3Z4_5.1!1?1#2j7C6Y7F7H2`6J7s0{7L6|017Q04376.7Z3x047;5!0n6+5F2B1m5K420s2:5O5S3H3x8s1=5;8w7T018F7S8D8H4.8J3!8M3J0U060M0V0s0q1h2K5Z2E0C0g3/4w0s5J7{0;5t1M3z2*4B5/8u5=7J0{5^2q2s5|5~607=647q6.672|6.7!7O4h3+3R8/3?6i6k6?8,6o040+6q3:9E4Y6;8G4s7u6B4z8x7U046G7X6I9k9B4j0,7p7r4S4t4U5L8G7z8G8.9I8:8I8K9^4M7V4@8^5767583A5a7*0D0;1+0s0J0d2r0s1w2@2C7;8l0V5D4w0w9M3.5P0E0m0E5L0s8f7 0s1_0C7_985Q0j4m0s8h0h8p051r6Z5H0V0}9DaL8q8%4g9h8*6m2b9@9W8,8I3i8L6bai005(0E0n0E0D0%0m0}0Gad8$2FaU8taW9%aZ4Q9A8I0i8@a)3ZaL0,0T1yaL0U5+1N1P8(5:1@8+8:9m5`2t0s5}5 0n617?659v4|9x2|9z9X017375aG8naI5r2z0A886I0s0u0s0wbPbQ020t0L1o0BbObQbPbSbU0s0ybXbYbRbT1o0ib(bZb+0s0F4@9A9T9/429,4$106V7NbA9=9P4B0A2804021u0jbU0R0V1O0Vc70%c90l9;100fb{c3c5cfch0!810D0T0QcpbUcj8Ocm3%c410cw0l0p7@170AcEcyclb 8,cCc6c8bU0I1Z0#550,0PcKc246ckcA2bcPcE8|6*cZ9|9Q047W2`129AbC0476aH7-0;0D5HbK4d0w0K1ja=0lb)bO0Fd4bUd70wb-02d5b)bQbOb%dfdbdi0w9{397Y7!1L4|a30g3a580,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'
.128013ben,vi[mo_tPhklpwf(: cga=ryS]-u/)2s1d050L0c0l0y0g0p0J0v0w0p0y0J0J0z010l0g0q010406050J0F0i0i0y0A0B040C0j0p0F0$0j0d050G0-0/0;0?0+0q0405160 190G160+0L0g0f0U0W0Y0!0n0g0x0n0p1n0n0l0)050P0b0p0c1i0X0Z011m1o1q1o0l1w1y1u0l0A170l0n0U0_0J0q0y0d0!0I011A1k010s0R0c0d0y0i0c1u1T1V1!1C1%1y1*1,0)0a0v0m0A0j0q0j0J0g0|0d0v0N1R0A0A0c0w240 1/0d170G1P2h1M1O1N1v0L1;0!1q0d1)211u1f1h0V1B2r0g2t0d0j2x1u0q2a172f2h2L0,1U252z1#2E0A0:0p0)0K2e2P0*2O1:2R1C2T2V0)0I2Z1V2h2I0c2h2x2k0L1O2p2(0!0w2F1-172@182J2$2g2.362~0N2K2P2q010o0)0N0s373b2%1j1C0r0)0v3j353d0d0s0)2~0F2a3y0k1)0k20222d102!3s2|010(040t3r2f3t3w3m0c1,0d0l3P3c3K3M0e3j3q3Q3K0d0)3E230g0}3Y3l2A3L0)0H0u3j060v3}3(3Z3m0!3f042a0l3y0~3H2/3 3=2S3S1B3U1)3X49363)413@040h3;2Q4m3+043-3G2L4b4r3?0j0)0E3%3J4m0i0g2X4q3d3M0D3{0 392=1a340G322i2_0 2l4Y0y1x4R4U1g2#4U0O0Q0S04.
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)