La fête foraine

Vous vous amusez à une fête foraine. Vous décidez de jouer au stand "Gagnez le gros lot !". Des lots visuellement identiques, numérotés de 1 à 32, sont exposés. Ils ont tous la même valeur de 1€, sauf un qui a la valeur de 100 €. Vous devez trouver une stratégie pour déterminer à coup sûr le numéro du lot de valeur 100 €.

La règle du jeu est la suivante : vous pouvez sélectionner deux groupes de lots, nommés groupe_1 et groupe_2. Le forain (qui connaît bien-sûr le numéro du gros lot) vous donnera une indication sur les valeurs globales de groupe_1 et groupe_2. Si les deux groupes ont la même valeur globale, il dira "identique", si le groupe_1 a plus de valeur, il dira "groupe_1", sinon il dira "groupe_2".

😥 Vous ne pouvez pas lui demander plus de six indications.

La classe Lots_en_jeu permet de créer une sélection de lots numérotés qui seront mis en jeu par le forain.

Vous devez rédiger la fonction gros_lot qui prend en paramètres :

  • lots de la classe Lots_en_jeu ;
  • le numéro debutde début de la zone de recherche (inclus) ;
  • le numéro fin de fin de la zone de recherche (exclu).

Cette fonction renvoie le numéro du lot de valeur 100 € dans lots.

Les indications données par le forain sont mises en oeuvre par indication(lots, debut_1, fin_1, debut_2, fin_2).

Le groupe_1 contient les lots dont les numéros de début et de fin sont debut_1 (inclus) et fin_1 (exclu). Le groupe_2 contient les lots dont les numéros de début et de fin sont debut_2 (inclus) et fin_2 (exclu).

Le résultat renvoyé sera :

  • "groupe_1" si le groupe_1 a la plus grande valeur ;
  • "identique" si les deux groupes ont la même valeur ;
  • "groupe_2" si le groupe_2 a la plus grande valeur.

Ainsi indication(lots, 1, 15, 15, 30) compare les valeurs totales des lots de numéros allant de 1 (inclus) à 15 (exclu) pour le groupe_1 et de 15 (inclus) à 30 (exclu) pour le groupe_2.

La fonction indication est déjà écrite, vous ne devez pas l’écrire.

On fournit ci-dessous quelques exemples d’utilisation des différentes fonctions :

Python
>>> lots = Lots_en_jeu()  # une sélection de 32 lots
>>> lots
'Une sélection de 32 lots'
>>> # comparaison des valeurs totales des groupes 
>>> # de lots dont les numéros sont dans [1, 20[ et [28, 32[
>>> indication(lots, 1, 20, 28, 32)
'groupe_1'
>>> indication(lots, 5, 15, 17, 27)
'identique'
>>> gros_lot(lots, 1, 33)
2

Votre fonction, pour 32 lots, ne doit pas appeler plus de 6 fois la fonction indication.

Toute tentative juste de résolution sera valorisée.

Exercice

Compléter ci-dessous :

###(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 : 5/5

.128013nco0m/gS-.d;fw,7z2qy+)Oeéh43vRlrb_:èp96k5 i=8a(sP1tu050l0y0Z0U0R0F0W0Q0c0F0U0W0W0S010Z0R0L010406050W0!0f0f0U0G0u040i0d0F0!0^0d0b0Q020U0f0L0m0Q0E0y120G0t0!0y0W050g0 1113150}0L04051A1t1D0g1A0}0l0R0D0-0/0;0?0/0b0h0!0U0h0y0j0L0u0Z0A1c0Q0A0R0h0A0F1)0A0Z0{050(0H0F0y1M0:0=011(1*1,1*0Z1=1@1:0Z0G1B1!0-180W0L0U0b0?0s011_1O010n0*0y0b1g0y1:2b2d2i1{2l1@2o0f2q040a0Q0X0G0d0L0d0W0R1b1d0$290G0G0y0c2L1t2s0b1B0g1!2X2527261;0l2u1P0R0b2n2I1:1J1L0.1`2+2-0b0d2;1:0L2Q1B2V2X310~2c1d2?2j2`0G120F1:0U1%2Q0n0?030I0I0c2{0y1,2_0d0j0Y3s0{0Q0Y1t0U32350|342t371{393b3d3f0y3h013j3l3n3p2.3s0j2g040Q0s3y3A2d3C2V2*013H0U3c1B3e0A3g3i3k3m0$3R2`3T0C3v0C3Z2U3B0}3%3F0?3*3,053.3:3N3=3Q2,3S3t0B3v0B3~1u403D361N3G0d3a3+3J3/3L3;3P3@4d3_3t0P3v0P4j3141353(454t493O3?3o4z3r3t0N3v0N4F4l424o444q3I3-3K3M4N4c3q3T0q3v0q4W3#4H3E4Z3)4#4s4%4u4)4b4y4,3t0T3v0T4;2W4?4n2@4_4r46484v4a4x4P510j0M3v0M563$4I435b4$474(4w4O3^4R3s0e0{0Y0e5o584J4`5d5v5g5x4Q3T0Y0Y5C3x0g3z3 4=4m5H5c4L5f4*504e3s3V0Y3Y5T3!575X5r4K4|4M4 5i5(0Y3{045{5o1E2 1t2;2!0l272)5r4O2:1K1B2~0y303B5V2W054O6f2t0R0l0?3k2V5O3J6n6p5h5y6s0Q2y0y6v5M5j5Q2X5U4Y5a0O0{0$0n6h6l592j0o3v6O5:4^0b0n0{0h2F0W0I0F0d0Z6U6I2j0`040V6+5q6W0{6(0Z1s4k3#6V5a6.0p6O0Q6}386L0y0H1a6;4@6~0{706{2W726,3G0{2l0b796Q1{6.0w0J6O0}7e6P0Q6u016q353T3V5u7x5^6x3t2g6z2p6C4+5(7C5-731{6S3W0Q7U7m3(0W0l0{021p6)0m7#0!7%7)7%7s7W7E0I6r3t5|7D6o7y6w5N7?2h6A7L5%4A0j7@7P7h0?7Y3v7U1k2n0D0d0R1^1@6z100z2F0Q0l0!0Q6!2I0Q6^8m2d0,6^6`4G7/7_7z2d3T4g4%7:6D5(4g7J2z805_828F3~8601887T7U7,0Z7(7$8Y8X0m7.7u5X7:7=0j4C8G8B7{5j4C8L6B7`8I828.3Z8a7g6=6J0{0R6N7u8 7a74040$776*957Q0?0d0{0v719e010f0R5C9j8S9g040S0S9p90987k7W5r6.7r95967n0?0c6F030Q0!2-0Q0W0y0!8h0L0R0K0c1^0l8v8s3e0r1c9W02030C0M0m0z0Z0!0$8(333%8+7A4S6t8:8`5z4T8@8N7G0j4T6G8V8~9E3(6K042Q9.0G7l9d8S0b759b9;6g9?8:8,4.8/a07|0j4.9 8_7M82ap3Z7t9=4I9@8D529`ar5j53av7Fas53a48~9kah049m1,9P9v971{9r9uaf9w7o0{6:8)agai78a$aY9f9haX9F3)7j2,9z4^7pa?3(9r0g0ga~5r9m0{5,8za+aDan9^5kaHaw815z5laL8;5(5laP8aaR0{0d0H9O0G0D0U2Ta/a@a!b36?042,1J0cbw0R1ca{7b6/bK988xbNa(047d31a75;a-9caCa:016 bB5aaSaU8f0!bQ0?b$by4J0{b*aWb9b!b/bUbp049yb^a@a}7uaBalba6v8,5DbeaM6E5Bbj9|5O5Bbn7V8Sa993b%98brbtbvbxb{9q0{9tcm1{0W3V8$8q0!0L0y0I0Y8$b-b#0{9Cb8bZ1daE0b5O6F7^aI5`5Qcdax5z5P1:5-a6bocj0{ab0!adcw446Z6#6%6)cI6.a*cNb;04bPb 3(b`3BbVbC9aa.c`9A7cc.a^aT0*b+c@0{0wak6|amc6bc5+c9bk82dmcXbg5O7O3zaQc)043o9Ode04cL4lc~cP5O7@3e8HcYdH7~7Kbf8OcZ84dvc%d291aa0%c,aecsa%c/048q6$6^dBc_c4b!aSc}d6a|d8b:bWdbaVb,c~d7bSd9aSb~d=bLdgc26U0g6k606e626b1t0Z65ee2%2Y0U1?eb0g631z7v5r2Q0f0I0n0U0OcE0A5|1l1n1p1r0QdD6|1G3C1A0x1dcD1a0Q0G0z3+0Rbt9K9M0D0y0G2J1$0~251c0hbD0Z8kbHeX2Ue%1R3W2N9V211^0n1c2SbI0b0p0Q1p0ReP0y2H9O9Nc,eV0Q3+0h4q2K0A2z8m9W0R0c1#0Z0d9m0y0k1E3C2;3(1Q1S1U1W1Y1!1$1}1+1-1/eq4^2w2n2p0{0X1Z1#d!6g6d6P5.1Be9dj7`6r0s3uaqdP6xfZcW7 f$5Nf(2h4}5wdLf-a49ka96McI7S72d}6W6Yd(c;d+f}bLd-did$dad;d.c0d@d#d/bXdBbTd1b|e2gac dfeG5/dFbb8DfZ7CdJ9{f;3UdN8Mf+4,gtf.5@do3rgDf?8Sf{bog32j8U8$gQ8!8%e6gqdkgs83dncefZ3{drdQ3UgY5K5$g(g#c#6Hg78U8~1l0b8d8f8s1^0b8j8l8n8p6#8s6)8u0b8w6)8ydEc`dGfZ8QgvcU3_hdgz8^ca3Shig+hlhh0j8Q85g;7Za5gR7*8#gSdh6ifW8CcQfZ8|hfgBhm8-hjhggHhLhogGg)8|5-c3g66mgrhFa2gZgx9~f*hphO9~f/5Lh$g/a5f@0{0o1(1@e0gfd^4^9r020F8Yh_b}a`gNbRgo3CgVfX7AfZazhIh)g)auh(hRibgE5#ieijcha6h;bD94gda@aSd4bYgict049ih{5ab55}71dV2ja!a#itc{gkhWgbdCiG9k9H0{9J9L1^9O9Q1^9S9U9W9Y0/0Q9#9M0l9(9*9,9.9:gUhbhYg)aOcThJhqaKihg!0jaKh,g,f%j1h/dUipdxc+c-iC98iwhB7vhcbdf#imbdg%j5bij3jlbm8}dUb|b?d|iL5rbAjdbRg5hCg7iv76d5iyg79riBjybCiNjEb_dfd9b0b2jB0?iEb7hagljic8jkii5AhMi|hOc8hQj0j%jtc%b|coeYcqe}jTcui1bEfjbHbJi4b.a)cId:h8ggi1jfk3cJd jWdajwk9kfb)dcb@e36-gcjJgei2fPiOgm04e5cMj#i^f(cSidj)c!jnf,3scWjqkEcSc$judxclkjbqbsj_k1kt7f9kiJd9cy7!gScBcDcFcHkc9Bjg8*kA5)h#dsf(7Ii gxdqkKj:dua5j8gji3jN5ajAl398khi?kzgWhZ5{k=g-3sg$k_k?lgik4~kEdSk c(g7a9dz0ydBi6hVjQcOk:0Yhe7wgwljlBj+jllGj/k`hsdTj8cijFh`l6aZj}kRd`ddl9eHe91G61en6b7t0$0(0*0W04.