moyen
Jeu de la ronde (1)
Des enfants jouent dans une cour de récréation : ils se placent en rond et choisissent au hasard l'un d'entre eux.
A partir de là, la règle est simple :
Le premier enfant tape sur l'épaule de son voisin de gauche : celui-ci est éliminé. Au début l'enfant \(1\) élimine donc l'enfant \(2\) ;
On passe à l'enfant restant suivant et l'on recommence : il élimine celui situé à sa gauche. Dans l'exemple, l'enfant \(3\) élimine le \(4\) ;
On continue encore et encore jusqu'à ce qu'il ne reste plus qu'un seul enfant : c'est le gagnant !
Dans le cas où \(13\) enfants jouent comme sur la figure, le gagnant est l'enfant n°\(11\) .
La question est simple : qui va gagner ?
Dans cet exercice on utilise un tableau de booléen nommé joueurs dans lequel chaque valeur indique que le joueur concerné est encore en jeu (True) ou a déjà été éliminé (False).
Attention
Les indices des listes Python étant comptabilisés à partir de 0 , avoir joueurs [ 2 ] égal à False signifie que le joueur n°\(3\) a été éliminé.
Ce tableau sera initialisé avec autant de valeurs True qu'il y a de joueurs.
La partie se déroulera ainsi :
on garde trace de l'indice du joueur qui doit jouer ;
on cherche dans le tableau l'indice du prochain joueur encore en jeu ;
on « élimine » ce joueur ;
on cherche l'indice du prochain joueur encore en jeu : ce sera à lui de jouer.
Ces différentes étapes continuent jusqu'à ce qu'il ne reste plus qu'un seul joueur encore en jeu.
Compléter les fonctions ci-dessous.
Fonction indice_prochain_True
La fonction indice_prochain_True prend en paramètres une liste de booléens ainsi qu'un indice et renvoie l'indice de la prochaine valeur de la liste égale à True.
On prendra soin de « boucler » les indices : si celui-ci dépasse la longueur de la liste, on le ramène à 0 .
On garantit que la liste booleens contient au moins une valeur True.
Exemples
>>> booleens = [ True , True , False , True , False ]
>>> indice_prochain_True ( booleens , 0 )
1
>>> indice_prochain_True ( booleens , 1 )
3
>>> indice_prochain_True ( booleens , 3 )
0
Version vide Version à trous
.1280135[4)2R,%a ièà8m16l7.e:9;S/dktf+«rjT3sogu0]PpOnE»h=céyv(wq_b050B0v0D0j0l0s0L0k0Z0s0j0L0L0Y010D0l0S010406050L0O0p0p0j0H0#040z0M0s0O0 0M0U0k020j0p0S0y0k0g0v190H0)0O0v0L050A16181a1c140S041A1H051K0A1K1M1H140B0l0$0@0_0{0}0X0l0N0X0s1!0X0D12050/0+0s0v1V0`0|011Z1#1%1#0D1-1/1+0D0+0M0B1c1,0H1I0D0X0@1f0L0S0j0U0}0f011;1X010E0;0v0U1n0v1+2c2e2j1?2m1/2p0p2r040a0k0R0H0M0S0M0L0l1i1k0-2a0H0H0v0Z2M1A2t0U1I0A282Y0D2625270B2v0}1%0U2o2J1+1S1U0^1=2,0l2.0U221T1+0S2R1I2W2Y33152d1k2@2k2|0H190s120k0q2V3713362u391?3b3d3f0f3i2e3k2W2+013p0j3e040k0K3t2X143w3n0}3z3B0k0d3F3v373x3L3f0b3P3H3R3J3y0M3c3A3f0r3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0o3?3Y3^3!3$3M0x3~3m403T040q0P3P1J311A2=2#0B2)3x0Z222B0,1T1I300v323j4c4l0-4t462^010C120-0E4c3@4A0(3f4G3 4A0U0E122`1S0Z0v0*300M0Z0X0:0U0*0J0H1x4L4z2k11040%4*3,4N12211f0v2o1z1B4u4H4,120h3P0k3+3S4Q4:3x4-0e0w3W0k5d534~3o120/0;1/52543Z0M120Y5m5g3K0+122y573Z4-4/4|3u5n474?0M4^4`5y40595c5e5E4=040l5s4M2k5p040F5r5C2X5f5U1?0p0l123h5!135e5$4+1?4C5R4F5-5:4;3a565_5P5V5q5Z335`55045j0s5l5-5 1?4-5b5-065/5/6b3K5}636j015W623j643Z5)124b6f6i5t4B120(1Z696m6z0M4J042|0D5T5;6k044@1/5J6a6z4-0c5K5Q5S6T5%0}4-0Q6e336g6h5d6n0U6l6r6n5W5Y6M5{5(5*495N6,6n5?0l5^6F6#3y6:3u6s406p6q776.5i0:680v6X4 046)3j6+6,6y746/5R6^3x6p7t6t6{6w6*7p6N6A042R0D0O0H0U7w5F7s6f1A4w4s4d7Q0A4g1A0D4i7V2%2Z21232#0j1.7S4g1G4y6_0}2R0p0*0E0j0C4U0X0K121s1u1w1y0k7l5D1N3k1H0T2N0!0+1h1:2d0H0k2`0Z0H0!2A0U0D0v8e0_0k0$3A0v7H0k2O057P7M8y0k0j2m2N8c1=8n8B0O0k0G0k0I0M1x8u0W0k161T2e0D0u0k0z0l0k0s004R0l4T8v0!2d0{1:8p671/8v8J1}0v0j8J1j8#0O8!0B1j2.8#0j8q8s8u8x4m3x1^1$1(1*7-3x6u047z4u0A8y0u1J8504870k8i0S0m8m0@0.8f0U8h8j2o0D8v2e0?0O92210O0^1:0I0O0L1w000n9s2o4l8l2R8e9I1:8r1/8u0!0N8s0k9T982O3Z9b1`1)2s740C0Z124%4)6a9l4m049n847,9r2I7H0H0:9E8`0{8!1h0;0l0L8H8$2H0!a88m977P9a1(9=9e6=120i4c9 4x8X0V1k0v0E0E0.0h8#8%0U4S1:0-0$0l9D0k2$2H0k0Na8aK8#3#9Q0O8%0s0k1y9E9)3A9,53ap9:ar9d9@7C7r8;7h9~8A9y9.1:a:1_a=9f3Za^7f6E6;6Gav7K5Qa_axa|0La*9*a%9-a/409;b26n9h9j838A6e1Q4o2?bma;1{a?7.2l2n2z2B2D0z8h109E0R0#281j4c4r7-344u8y6 4DaD7i1?6I536!a@4P5RaK8)4U4W4Y4!4$4(a`356U125Bb@7q5G5I0U4{b{7C4-515~6z7r6Zc1bC59823G7BbCb55kb?b8747vc57q5v045xb%cab_bZ6O6Q4_b cu015M6x5Oc6765#au047bcGb^4.czc7bb605XcP6`5+czcB737C5Wawcma@7ech6}784A5?6C2ncS0}6H126Kc/756P5H6Rcycr58126Wc}b4cFb35L126(c)ce65c8cjcY5qc@5AcNd3c*cQ0Fc@9h5,c9c~040ec@cZc@cg7gc)bW7E0.7H7Jc#cfd314ay7SbR4f4pdH0-670L04.
.1280135[4)2R,%a ièà8m16l7.e:9;S/dktf+«rjT3sogu0]PpOnE»h=céyv(wq_b050B0v0D0j0l0s0L0k0Z0s0j0L0L0Y010D0l0S010406050L0O0p0p0j0H0#040z0M0s0O0 0M0U0k020j0p0S0y0k0g0v190H0)0O0v0L050A16181a1c140S041A1H051K0A1K1M1H140B0l0$0@0_0{0}0X0l0N0X0s1!0X0D12050/0+0s0v1V0`0|011Z1#1%1#0D1-1/1+0D0+0M0B1c1,0H1I0D0X0@1f0L0S0j0U0}0f011;1X010E0;0v0U1n0v1+2c2e2j1?2m1/2p0p2r040a0k0R0H0M0S0M0L0l1i1k0-2a0H0H0v0Z2M1A2t0U1I0A282Y0D2625270B2v0}1%0U2o2J1+1S1U0^1=2,0l2.0U221T1+0S2R1I2W2Y33152d1k2@2k2|0H190s120k0q2V3713362u391?3b3d3f0f3i2e3k2W2+013p0j3e040k0K3t2X143w3n0}3z3B0k0d3F3v373x3L3f0b3P3H3R3J3y0M3c3A3f0r3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0o3?3Y3^3!3$3M0x3~3m403T040q0P3P1J311A2=2#0B2)3x0Z222B0,1T1I300v323j4c4l0-4t462^010C120-0E4c3@4A0(3f4G3 4A0U0E122`1S0Z0v0*300M0Z0X0:0U0*0J0H1x4L4z2k11040%4*3,4N12211f0v2o1z1B4u4H4,120h3P0k3+3S4Q4:3x4-0e0w3W0k5d534~3o120/0;1/52543Z0M120Y5m5g3K0+122y573Z4-4/4|3u5n474?0M4^4`5y40595c5e5E4=040l5s4M2k5p040F5r5C2X5f5U1?0p0l123h5!135e5$4+1?4C5R4F5-5:4;3a565_5P5V5q5Z335`55045j0s5l5-5 1?4-5b5-065/5/6b3K5}636j015W623j643Z5)124b6f6i5t4B120(1Z696m6z0M4J042|0D5T5;6k044@1/5J6a6z4-0c5K5Q5S6T5%0}4-0Q6e336g6h5d6n0U6l6r6n5W5Y6M5{5(5*495N6,6n5?0l5^6F6#3y6:3u6s406p6q776.5i0:680v6X4 046)3j6+6,6y746/5R6^3x6p7t6t6{6w6*7p6N6A042R0D0O0H0U7w5F7s6f1A4w4s4d7Q0A4g1A0D4i7V2%2Z21232#0j1.7S4g1G4y6_0}2R0p0*0E0j0C4U0X0K121s1u1w1y0k7l5D1N3k1H0T2N0!0+1h1:2d0H0k2`0Z0H0!2A0U0D0v8e0_0k0$3A0v7H0k2O057P7M8y0k0j2m2N8c1=8n8B0O0k0G0k0I0M1x8u0W0k161T2e0D0u0k0z0l0k0s004R0l4T8v0!2d0{1:8p671/8v8J1}0v0j8J1j8#0O8!0B1j2.8#0j8q8s8u8x4m3x1^1$1(1*7-3x6u047z4u0A8y0u1J8504870k8i0S0m8m0@0.8f0U8h8j2o0D8v2e0?0O92210O0^1:0I0O0L1w000n9s2o4l8l2R8e9I1:8r1/8u0!0N8s0k9T982O3Z9b1`1)2s740C0Z124%4)6a9l4m049n847,9r2I7H0H0:9E8`0{8!1h0;0l0L8H8$2H0!a88m977P9a1(9=9e6=120i4c9 4x8X0V1k0v0E0E0.0h8#8%0U4S1:0-0$0l9D0k2$2H0k0Na8aK8#3#9Q0O8%0s0k1y9E9)3A9,53ap9:ar9d9@7C7r8;7h9~8A9y9.1:a:1_a=9f3Za^7f6E6;6Gav7K5Qa_axa|0La*9*a%9-a/409;b26n9h9j838A6e1Q4o2?bma;1{a?7.2l2n2z2B2D0z8h109E0R0#281j4c4r7-344u8y6 4DaD7i1?6I536!a@4P5RaK8)4U4W4Y4!4$4(a`356U125Bb@7q5G5I0U4{b{7C4-515~6z7r6Zc1bC59823G7BbCb55kb?b8747vc57q5v045xb%cab_bZ6O6Q4_b cu015M6x5Oc6765#au047bcGb^4.czc7bb605XcP6`5+czcB737C5Wawcma@7ech6}784A5?6C2ncS0}6H126Kc/756P5H6Rcycr58126Wc}b4cFb35L126(c)ce65c8cjcY5qc@5AcNd3c*cQ0Fc@9h5,c9c~040ec@cZc@cg7gc)bW7E0.7H7Jc#cfd314ay7SbR4f4pdH0-670L04.
Fonction gagnant
La fonction gagnant prend en paramètre le nombre de joueurs au début de la partie (n > 0 ) et renvoie la position du joueur gagnant.
Attention, les positions des joueurs sont comptabilisées à partir de \(1\) .
Exemples
>>> gagnant ( 1 )
1
>>> gagnant ( 5 )
3
>>> gagnant ( 13 )
11
Version vide Version à trous
.1280135[4)2FR,a- ià8m16l7.e:9A;S/dktf+rjT3sogu0x]PpOnh=céyvD(wq_b050C0v0E0j0m0s0L0l0Y0s0j0L0L0X010E0m0T010406050L0O0p0p0j0H0!040A0M0s0O0 0M0V0l020j0p0T0z0l0h0v190H0)0O0v0L050B16181a1c140T041A1H051K0B1K1M1H140C0m0#0@0_0{0}0W0m0N0W0s1!0W0E12050/0+0s0v1V0`0|011Z1#1%1#0E1-1/1+0E0+0M0C1c1,0H1I0E0W0@1f0L0T0j0V0}0f011;1X010F0;0v0V1n0v1+2c2e2j1?2m1/2p0p2r040a0l0S0H0M0T0M0L0m1i1k0-2a0H0H0v0Y2M1A2t0V1I0B282Y0E2625270C2v0}1%0V2o2J1+1S1U0^1=2,0m2.0V221T1+0T2R1I2W2Y33152d1k2@2k2|0H190s120l0q2V3713362u391?3b3d3f0f3i2e3k2W2+013p0j3e040l0K3t2X143w3n0}3z3B0l0d3F3v373x3L3f0b3P3H3R3J3y0M3c3A3f0r3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0o3?3Y3^3!3$3M0x3~3m403T040q0P3P1J311A2=2#0C2)3x0Y222B0,1T1I300v323j4c4l0-4t462^010D120-0F4c3@4A0(3f4G3 4A0V0F120N0j0N2p0V0E4L4z2k11040%4X3,4N120V0+0*0I0M1x0O0H1z1B4u4H4Z120e0w3W0l4 0l3+3S124.4:4=3P514_1?0M120X58523Z4!0c4%3x0D0Y120J0H1x5f5a0}4C040F3#5s4M3a120m5z4Y5b4J042`5E4(3a0+120H2e0N0v5k5h124$4@3u5g474*4,550v4;4?355t014!0e0R4~505Z4)5I5K3x5c045e5X2X595A1?0p0m124b5~1350605F5u120(1Z1/5_3Z0V5#4-4/5(57676a5L5b12020N0E0z6h4063123h675?4`044}670669696E3o5C6y4A5{5}336q535I0V1S0Y0v0*300M0Y0W0:0V0*5p5r6D5,4!5W5+613K546m5)5T404!0i6P5B5^6/6@5-4{5;6K6U6i6_565*4^745i6|5@5D736b75045:6p6M0}6R701?5m120g3A0L5S6I784 7q3y6O7p5,7s7H746j6W6Y6!6$6(6*6,5q7A6?7l6;7h715%6{7k6r0}6~7t6^727W7(7m0e776K7E7M4+6l7c7+015{0k6S3j796z64493W6J5=5,5v2R0E4;0V7|7M7j6T7E5{0G7|6A856I1A4w4s4d8s0B4g1A0E4i8x2%2Z21232#0j1.8u4g1G4y7/2R0p0*0F0j0D6!0W0K121s1u1w1y0l6H351N3k1H0$2e0?0_0l5x0V2T0m1j518r044R4T2e4W0B8_0i0l8@4l182o6Z0l2d0H0@0H0Z0v9a8.1%0L0E1:2O211f9d0V0L910E4/0?0Z4R0O0Q0l0n8^4m3x1^1$1(1*8L5l5n046-7V4u8 4m3C0%9s0O8-8!7#4=0l0L1j0E0l963#1:2o0l0I5(0e0u1J8)040U2N0Z2K4T1:1/9,6`9a0C9#0@001y9$9}9T9a0j0#2S9B4x7j8_0l0%9A058r9D1(1`1)2s748n668%ag0j0O0l0C0Z0+1h984/9f1:9X824A1a2L0W199j0Q12090%0q097;679/9;8K9@0l0_8;9*9p0O2L9|0j981a0 1:1w0m2a4V2`1x9,9U1w009A978Za#1:2|0p0+2RayaG9 0?9!2L0l9v3A9zad1:3Z9Eao9H7E8n6Cau9Q9:8(8K0y0@6)b10Z0/0T1:6H1Q050O0s3k1%04930W9e6(9|002`7Oayax7Q6)2`9~569%8;9)b#9,5(0l6x0BbK14bK8@a#000Z1%632.b+1Ab.05b:1k2d0{1:awbZ6n9Za*0#8}b(0v0F0F2S8cca0Ob`2|0Oab0s9}2RbP0HbPbtb}0BbH9=bw8.2m2Na,8/1j8=1j918@2R0V0#0M0m1:ak9Cbkan9Gaq7l8g7|8k8m84bq9OavcAb80l9j0V0m9a940T9jbUay0Z0Y3A4Sa(2$9|8!bS0m6Z0?0C8,a#a-9hc;0.b20?0V170Z2Gd29WbabtbF8v0.0:0=04.
.1280135[4)2FR,a- ià8m16l7.e:9A;S/dktf+rjT3sogu0x]PpOnh=céyvD(wq_b050C0v0E0j0m0s0L0l0Y0s0j0L0L0X010E0m0T010406050L0O0p0p0j0H0!040A0M0s0O0 0M0V0l020j0p0T0z0l0h0v190H0)0O0v0L050B16181a1c140T041A1H051K0B1K1M1H140C0m0#0@0_0{0}0W0m0N0W0s1!0W0E12050/0+0s0v1V0`0|011Z1#1%1#0E1-1/1+0E0+0M0C1c1,0H1I0E0W0@1f0L0T0j0V0}0f011;1X010F0;0v0V1n0v1+2c2e2j1?2m1/2p0p2r040a0l0S0H0M0T0M0L0m1i1k0-2a0H0H0v0Y2M1A2t0V1I0B282Y0E2625270C2v0}1%0V2o2J1+1S1U0^1=2,0m2.0V221T1+0T2R1I2W2Y33152d1k2@2k2|0H190s120l0q2V3713362u391?3b3d3f0f3i2e3k2W2+013p0j3e040l0K3t2X143w3n0}3z3B0l0d3F3v373x3L3f0b3P3H3R3J3y0M3c3A3f0r3W3l381W3o3#3q3C0t3*3I3-3K3/3%3C0o3?3Y3^3!3$3M0x3~3m403T040q0P3P1J311A2=2#0C2)3x0Y222B0,1T1I300v323j4c4l0-4t462^010D120-0F4c3@4A0(3f4G3 4A0V0F120N0j0N2p0V0E4L4z2k11040%4X3,4N120V0+0*0I0M1x0O0H1z1B4u4H4Z120e0w3W0l4 0l3+3S124.4:4=3P514_1?0M120X58523Z4!0c4%3x0D0Y120J0H1x5f5a0}4C040F3#5s4M3a120m5z4Y5b4J042`5E4(3a0+120H2e0N0v5k5h124$4@3u5g474*4,550v4;4?355t014!0e0R4~505Z4)5I5K3x5c045e5X2X595A1?0p0m124b5~1350605F5u120(1Z1/5_3Z0V5#4-4/5(57676a5L5b12020N0E0z6h4063123h675?4`044}670669696E3o5C6y4A5{5}336q535I0V1S0Y0v0*300M0Y0W0:0V0*5p5r6D5,4!5W5+613K546m5)5T404!0i6P5B5^6/6@5-4{5;6K6U6i6_565*4^745i6|5@5D736b75045:6p6M0}6R701?5m120g3A0L5S6I784 7q3y6O7p5,7s7H746j6W6Y6!6$6(6*6,5q7A6?7l6;7h715%6{7k6r0}6~7t6^727W7(7m0e776K7E7M4+6l7c7+015{0k6S3j796z64493W6J5=5,5v2R0E4;0V7|7M7j6T7E5{0G7|6A856I1A4w4s4d8s0B4g1A0E4i8x2%2Z21232#0j1.8u4g1G4y7/2R0p0*0F0j0D6!0W0K121s1u1w1y0l6H351N3k1H0$2e0?0_0l5x0V2T0m1j518r044R4T2e4W0B8_0i0l8@4l182o6Z0l2d0H0@0H0Z0v9a8.1%0L0E1:2O211f9d0V0L910E4/0?0Z4R0O0Q0l0n8^4m3x1^1$1(1*8L5l5n046-7V4u8 4m3C0%9s0O8-8!7#4=0l0L1j0E0l963#1:2o0l0I5(0e0u1J8)040U2N0Z2K4T1:1/9,6`9a0C9#0@001y9$9}9T9a0j0#2S9B4x7j8_0l0%9A058r9D1(1`1)2s748n668%ag0j0O0l0C0Z0+1h984/9f1:9X824A1a2L0W199j0Q12090%0q097;679/9;8K9@0l0_8;9*9p0O2L9|0j981a0 1:1w0m2a4V2`1x9,9U1w009A978Za#1:2|0p0+2RayaG9 0?9!2L0l9v3A9zad1:3Z9Eao9H7E8n6Cau9Q9:8(8K0y0@6)b10Z0/0T1:6H1Q050O0s3k1%04930W9e6(9|002`7Oayax7Q6)2`9~569%8;9)b#9,5(0l6x0BbK14bK8@a#000Z1%632.b+1Ab.05b:1k2d0{1:awbZ6n9Za*0#8}b(0v0F0F2S8cca0Ob`2|0Oab0s9}2RbP0HbPbtb}0BbH9=bw8.2m2Na,8/1j8=1j918@2R0V0#0M0m1:ak9Cbkan9Gaq7l8g7|8k8m84bq9OavcAb80l9j0V0m9a940T9jbUay0Z0Y3A4Sa(2$9|8!bS0m6Z0?0C8,a#a-9hc;0.b20?0V170Z2Gd29WbabtbF8v0.0:0=04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)