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

.128013nur9w6cs _1pk(d3tv0oé2=il:,è;7e8qRfzSb4/-O+g.y5mPh)a050p0F0r0!0y0z0i0j0h0z0!0i0i0x010r0y0m010406050i0c0W0W0!0d0U040L0u0z0c0^0u0b0j020!0W0m0D0j0I0F120d0H0c0F0i050O0 1113150}0m04051A1t1D0O1A0}0p0y0s0-0/0;0?0/0b0S0c0!0S0F0P0m0U0r0Y1c0j0Y0y0S0Y0z1)0Y0r0{050(0M0z0F1M0:0=011(1*1,1*0r1=1@1:0r0d1B1!0-180i0m0!0b0?0w011_1O010J0*0F0b1g0F1:2b2d2i1{2l1@2o0W2q040a0j0X0d0u0m0u0i0y1b1d0$290d0d0F0h2L1t2s0b1B0O1!2X2527261;0p2u1P0y0b2n2I1:1J1L0.1`2+2-0b0u2;1:0m2Q1B2V2X310~2c1d2?2j2`0d120z1:0!1%2Q0J0?030k0k0h2{0F1,2_0u0P0l3s0{0j0l1t0!32350|342t371{393b3d3f0F3h013j3l3n3p2.3s0P2g040j0w3y3A2d3C2V2*013H0!3c1B3e0Y3g3i3k3m0$3R2`3T0q3v0q3Z2U3B0}3%3F0?3*3,053.3:3N3=3Q2,3S3t0N3v0N3~1u403D361N3G0u3a3+3J3/3L3;3P3@4d3_3t0V3v0V4j3141353(454t493O3?3o4z3r3t0g3v0g4F4l424o444q3I3-3K3M4N4c3q3T0E3v0E4W3#4H3E4Z3)4#4s4%4u4)4b4y4,3t0G3v0G4;2W4?4n2@4_4r46484v4a4x4P510P0e3v0e563$4I435b4$474(4w4O3^4R3s0t0{0l0t5o584J4`5d5v5g5x4Q3T0l0l5C3x0O3z3 4=4m5H5c4L5f4*504e3s3V0l3Y5T3!575X5r4K4|4M4 5i5(0l3{045{5o1E2 1t2;2!0p272)5r4O2:1K1B2~0F303B5V2W054O6f2t0y0p0?3k2V5O3J6n6p5h5y6s0j2y0F6v5M5j5Q2X5U4Y5a0n0{0$0J6h6l592j0f3v6O5:4^0b0J0{0S2F0i0k0z0u0r6U6I2j0`040o6+5q6W0{6(0r1s4k3#6V5a6.0B6O0j6}386L0F0M1a6;4@6~0{706{2W726,3G0{2l0b796Q1{6.0Z0A6O0}7e6P0j6u016q353T3V5u7x5^6x3t2g6z2p6C4+5(7C5-731{6S3W0j7U7m3(0i0p0{017#7s7W7E0k6r3t5|7D6o7y6w5N7,2h6A7L5%4A0P7-7P7h0?7Y3v7U1k2n0s0u0y1^1@6z100v2F0j0p0c0j6!2I0j6^8f2d0,6^6`4G7(7/7z2d3T4g4%7)6D5(4g7J2z7_5_7{8y3~7 01817T7U7#017%7u5X7)7+0P4C8z8u7;5j4C8E6B7:8B7{8Y3Z837g6=6J0{0y6N7u8:7a74040$776*8_7Q0?0u0{0R7192010W0y5C978L94040x0x9d8;8|7k7W5r6.7r8_8`7n0?0h6F030j0c2-0j0i0F0c8a0m0y0C0h1^0p8o8l3e0K1c9K000v0r0c0$8S333%8V7A4S6t8!8+5z4T8(8G7G0P4T6G8O8/9s3(6K042Q9U0d7l918L0b758 9X6g9Z8!8W4.8Z9-7=0P4.9,8*7M7{a93Z7t9Y4I9!8w529%ab5j53af7Fac539;8/98a1049a1,9D9j8{1{9f9i9 9k7o0{6:8Ta0a278aMaI9395aH9t3)7j2,9n4^7paZ3(9f0O0Oa+5r9a0{5,8saRana79#5karag7`5z5lav8#5(5laz83aB0{0u0M9C0d0s0!2TaVa!aKa:6?042,1J0hbg0y1ca(7b6/bu8|8qbxaO047d319@5;aT90amaW016 bl5aaCaE880cbA0?bMbi4J0{bQaGa_bKbVbEb9049mb#a!a*7uala5a`6v8W5Da~aw6E5Bb39)5O5Bb77V8L9_8@bN8|bbbdbfbhb(9e0{9hc61{0i3V018j0c0m0F0k5QbTbL0{9qa^bJ1dao0b5O6F7.as5`5Qb}ah5z5P1:5-9?b8c30{9{0c9}cg446Z6#6%6)cr6.aQcwbX04bzb,3(b%3BbFbm8~aUc$9o7ccTa#aD0*bRcZ0{0Za46|a6b?a|5+b_b47{d5cGb05O7O3zaAcO043o9Cc}04cu4lc*cy5O7-3e8AcHdq7@7Ka 8HcI7}decMc.8=9`0%cR9~ccaNcU048j6$6^dkc#b;bKaCc)c=a)c@bWbGc`aFbSc*c?bCc^aCb+dXbvc b/6U0O6k606e626b1t0r65d}2%2Y0!1?d`0O631z7v5r2Q0W0k0J0!0nco0Y5|1l1n1p1r0jdm6|1G3C1A0Q1dcn1a0j0d0v3+0ybd9y9A0s0F0d2J1$0~251c0Sbn0r8dbreG2UeM1R3W2N9J211^0J1c2Sbs0b0B0j1p0yey0F2H9C9BcReE0j3+0S4q2K0Y2z8f9K0y0h1#0r0u9a0F0T1E3C2;3(1Q1S1U1W1Y1!1$1}1+1-1/e94^2w2n2p0{0X1Z1#dJ6g6d6P5.1Bd^d27:6r0w3uaady6xfIcF7^fL5NfN2h4}5wdufS9;989_6Mcr7S72d)6W6YdNcWdQf)bvdSd1dLc_dWdTb-dZdKdUbHdkbDc-b)d.f_c+c~ep5/doa{8wfI7Cds9(fW3Udw8FfQ4,gcfT5@d73rgmfY8Lf%b8f/2j8N8Qd06ifF8vczfIdr7wgfdbgFgi8)b`3SgK5K5$dz3U7|cK6Hf?8N8/1l0b86888l1^0b8c8e8g8i6#8l6)8n0b8p6)8rdnc$dpfI8JgecD3_g}gLh0gq0P8DfU5Lgg8J7~gX7Z9=gzd=g9d3gb8Xd6b~fI8%fPgNh1hlgQhrh58-5-b:f=6mgagE9/hmgg9+hqgpgT9+h8gRfMhEc1dE2j9_0f1(1@d,f~d!4^9f020z0r0DhXb*a%gwbBg73ChifG7AfIajg gkgOadh3h`hsaehMhvgTajcLdDfZ8?8^f|a!aCc:bIg1cd0496hZ5aa=5}71hRaJceaLiac%g3hAf`dlin989v0{9x9z1^9C9E1^9G9I9K9M0/0j9P9A0p9S9U9Whhg{hCgTaycCh~h5auhIhn0Paui1hJfIiYi5dDcNf?9_cQcSij8|idgA7vg|a}fKi2fIb2i%ggb2i+i(b68.i6aSd$c|i_ip9gc^c!cric76c;iff?9fiiisd#iugBf?b.jsh!0{a.c^ila@g`g4i~b^j0i,5Ah}j1jLhujKjIjacMb)c8eHcae)c^bkjfdMbof2brbth-bUaPjk6@g^f h*i{j+csd+j#c_bZd(d/6-f{jof}jdb!j~bBg03#iodMjufpd:i|8UiWfNcBh_jNcJdagSkhgn5#kkcBi/9?i7bni9k1ibbabcjWj)fyk898aKirky7Xcjclcncp8Rj@9pkegC7*h?5)hFgJkWkmhOd9j7ggd5hQi:g2h,jy5aj!k.8|j|kSb=h=hk5{kXkn3s3{k!fRk~kp4~jQdB9=dfi=0{di0Fdkh/hzjvhBhjhD0lg~gHh4gTlkjMjQh7goi(lpk*jbf?jla3j`k:kJd#k?iU6gd@3n2XfAd{0sh:0$0(0*0i04.