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

.128013vt4=8fw2pmuP(è751,:cSsrézk63;0 dg)/+n9qiyelRhb_oaO.-050G0Q0c0X0O0R0w0F0u0R0X0w0w0e010c0O0j010406050w0l0k0k0X0x0P040v0W0R0l0^0W0L0F020X0k0j0D0F0S0Q120x0N0l0Q0w050J0 1113150}0j04051A1t1D0J1A0}0G0O0b0-0/0;0?0/0L0H0l0X0H0Q0!0j0P0c0T1c0F0T0O0H0T0R1)0T0c0{050(0U0R0Q1M0:0=011(1*1,1*0c1=1@1:0c0x1B1!0-180w0j0X0L0?0i011_1O010g0*0Q0L1g0Q1:2b2d2i1{2l1@2o0k2q040a0F0m0x0W0j0W0w0O1b1d0$290x0x0Q0u2L1t2s0L1B0J1!2X2527261;0G2u1P0O0L2n2I1:1J1L0.1`2+2-0L0W2;1:0j2Q1B2V2X310~2c1d2?2j2`0x120R1:0X1%2Q0g0?030V0V0u2{0Q1,2_0W0!0r3s0{0F0r1t0X32350|342t371{393b3d3f0Q3h013j3l3n3p2.3s0!2g040F0i3y3A2d3C2V2*013H0X3c1B3e0T3g3i3k3m0$3R2`3T0C3v0C3Z2U3B0}3%3F0?3*3,053.3:3N3=3Q2,3S3t0d3v0d3~1u403D361N3G0W3a3+3J3/3L3;3P3@4d3_3t0q3v0q4j3141353(454t493O3?3o4z3r3t0B3v0B4F4l424o444q3I3-3K3M4N4c3q3T0p3v0p4W3#4H3E4Z3)4#4s4%4u4)4b4y4,3t0f3v0f4;2W4?4n2@4_4r46484v4a4x4P510!0M3v0M563$4I435b4$474(4w4O3^4R3s0E0{0r0E5o584J4`5d5v5g5x4Q3T0r0r5C3x0J3z3 4=4m5H5c4L5f4*504e3s3V0r3Y5T3!575X5r4K4|4M4 5i5(0r3{045{5o1E2 1t2;2!0G272)5r4O2:1K1B2~0Q303B5V2W054O6f2t0O0G0?3k2V5O3J6n6p5h5y6s0F2y0Q6v5M5j5Q2X5U4Y5a0A0{0$0g6h6l592j0h3v6O5:4^0L0g0{0H2F0w0V0R0W0c6U6I2j0`040n6+5q6W0{6(0c1s4k3#6V5a6.0s6O0F6}386L0Q0U1a6;4@6~0{706{2W726,3G0{2l0L796Q1{6.0I0t6O0}7e6P0F6u016q353T3V5u7x5^6x3t2g6z2p6C4+5(7C5-731{6S3W0F7U7m3(0w0G0{021p6)0D7#0l7%7)7%7s7W7E0V6r3t5|7D6o7y6w5N7?2h6A7L5%4A0!7@7P7h0?7Y3v7U1k2n0b0W0O1^1@6z100y2F0F0G0l0F6!2I0F6^8m2d0,6^6`4G7/7_7z2d3T4g4%7:6D5(4g7J2z805_828F3~8601887T7U7,0c7(7$8Y8X0D7.7u5X7:7=0!4C8G8B7{5j4C8L6B7`8I828.3Z8a7g6=6J0{0O6N7u8 7a74040$776*957Q0?0W0{0K719e010k0O5C9j8S9g040e0e9p90987k7W5r6.7r95967n0?0u6F030F0l2-0F0w0Q0l8h0j0O0o0u1^0G8v8s3e0z1c9W02030C0M0D0y0c0l0$8(333%8+7A4S6t8:8`5z4T8@8N7G0!4T6G8V8~9E3(6K042Q9.0x7l9d8S0L759b9;6g9?8:8,4.8/a07|0!4.9 8_7M82ap3Z7t9=4I9@8D529`ar5j53av7Fas53a48~9kah049m1,9P9v971{9r9uaf9w7o0{6:8)agai78a$aY9f9haX9F3)7j2,9z4^7pa?3(9r0J0Ja~5r9m0{5,8za+aDan9^5kaHaw815z5laL8;5(5laP8aaR0{0W0U9O0x0b0X2Ta/a@a!b36?042,1J0ubw0O1ca{7b6/bK988xbNa(047d31a75;a-9caCa:016 bB5aaSaU8f0lbQ0?b$by4J0{b*aWb9b!b/bUbp049yb^a@a}7uaBalba6v8,5DbeaM6E5Bbj9|5O5Bbn7V8Sa993b%98brbtbvbxb{9q0{9tcm1{0w3V8$8q0l0j0Q0V0r8$b-b#0{9Cb8bZ1daE0L5O6F7^aI5`5Qcdax5z5P1:5-a6bocj0{ab0ladcw446Z6#6%6)cI6.a*cNb;04bPb 3(b`3BbVbC9aa.c`9A7cc.a^aT0*b+c@0{0Iak6|amc6bc5+c9bk82dmcXbg5O7O3zaQc)043o9Ode04cL4lc~cP5O7@3e8HcYdH7~7Kbf8OcZ84dvc%d291aa0%c,aecsa%c/048q6$6^dBc_c4b!aSc}d6a|d8b:bWdbaVb,c~d7bSd9aSb~d=bLdgc26U0J6k606e626b1t0c65ee2%2Y0X1?eb0J631z7v5r2Q0k0V0g0X0AcE0T5|1l1n1p1r0FdD6|1G3C1A0Y1dcD1a0F0x0y3+0Obt9K9M0b0Q0x2J1$0~251c0HbD0c8kbHeX2Ue%1R3W2N9V211^0g1c2SbI0L0s0F1p0OeP0Q2H9O9Nc,eV0F3+0H4q2K0T2z8m9W0O0u1#0c0W9m0Q0Z1E3C2;3(1Q1S1U1W1Y1!1$1}1+1-1/eq4^2w2n2p0{0m1Z1#d!6g6d6P5.1Be9dj7`6r0i3uaqdP6xfZcW7 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~1l0L8d8f8s1^0L8j8l8n8p6#8s6)8u0L8w6)8ydEc`dGfZ8QgvcU3_hdgz8^ca3Shig+hlhh0!8Q85g;7Za5gR7*8#gSdh6ifW8CcQfZ8|hfgBhm8-hjhggHhLhogGg)8|5-c3g66mgrhFa2gZgx9~f*hphO9~f/5Lh$g/a5f@0{0h1(1@e0gfd^4^9r020R8Yh_b}a`gNbRgo3CgVfX7AfZazhIh)g)auh(hRibgE5#ieijcha6h;bD94gda@aSd4bYgict049ih{5ab55}71dV2ja!a#itc{gkhWgbdCiG9k9H0{9J9L1^9O9Q1^9S9U9W9Y0/0F9#9M0G9(9*9,9.9:gUhbhYg)aOcThJhqaKihg!0!aKh,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(g7a9dz0QdBi6hVjQcOk:0rhe7wgwljlBj+jllGj/k`hsdTj8cijFh`l6aZj}kRd`ddl9eHe91G61en6b7t0$0(0*0w04.