Jeu "plus ou moins"

Le jeu du « plus ou moins » consiste à deviner un nombre entier choisi entre 1 et 99. Un élève décide de le coder en langage Python de la manière suivante :

  • le programme génère un nombre entier aléatoire compris entre 1 et 99 ;
  • si la proposition de l'utilisateur est plus petite que le nombre cherché, l'utilisateur en est averti. Il peut alors en tester un autre ;
  • si la proposition de l'utilisateur est plus grande que le nombre cherché, l'utilisateur en est averti. Il peut alors en tester un autre ;
  • si l'utilisateur trouve le bon nombre en 10 essais ou moins, il gagne ;
  • si l'utilisateur a fait plus de 10 essais sans trouver le bon nombre, il perd.

Note

La fonction randint est utilisée. Si a et b sont des entiers, randint(a, b) renvoie un nombre entier compris entre a et b, incluant les deux bornes.

Exemple
>>> plus_ou_moins()
Proposez un nombre entre 1 et 99 : 27
Trop petit ! Testez encore : 78
Trop grand ! Testez encore : 49
Trop grand ! Testez encore : 31
Trop petit ! Testez encore : 40
Trop petit ! Testez encore : 43
Trop grand ! Testez encore : 42
Bravo ! Le nombre était  42

Compléter le script suivant. Cet exercice ayant une part d'aléatoire, il faut absolument cliquer sur le bouton de validation pour vérifier votre code.

###(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 : ∞/∞
.128013N,)s0Tepng4lfP; /i3_htda18k+LuyBév6:!or5mbcS(wz=729050x0h0w0y0s0m0e0q0R0m0y0e0e0W010w0s0i010406050e0E0P0P0y0N0F040S0M0m0E0@0M0j050r0~1012140|0i04051k1d1n0r1k0|0x0s0I0,0.0:0=0v0s0k0v0m1B0v0w0`050%0Q0m0h1w0/0;011A1C1E1C0w1K1M1I0w0N1l0w0v1O1y010n0)0h0j0y0P0h010,170e0i0y0j0=0Y1I1_1{1)1Q1,1M1/1;0`0a0q0o0N0M0i0M0e0s1a0j0q0#1@0N0N0h0R2i1d200j1l0r1%2v1!1$1#1J0x220=1E0j1.2f1I1t1v0-1P2F0s2H0j0M2L1I0i2o1l2t2v2Z0}1`2j2N1*2S0N110m0`0q0z2s2%0{2$212)1Q2+2-2/0Y2=1{2@2t2E012|0y2.040q0t302u0|332`0=36380q0l3c322%343i2/0O3m3e3o3g350M2,372/0J3t2^2(1x2{3y2}390X3D3f3G3h3I3A390A3M3v3O3x3z3j0Z3U2_3W3q040z0f3#3F2O3X3J0z2;1e2?3u3$3.3(0z2 3?313^3-2*3Q380z3b3~3d3E3p430`0z3l473n3_423Y4c3s4f404a4j3)3C4m493w3{3L4s3N3`4b3)3T4x3V4z4p0z3!4f1o2X1d2L2y0x1$2D3w0R2T1=1l4N1m4L2#4J4T0#2Y4E1*0B0j0`0n2c0P3m4t3W0U2/4;4y2*4,040N1{0x0M4:4J4`1Q4@394_4)1Q4+0`0s0P2e0N0w3m0q4=3`0`4~0j1t0j5h4m4n3w0B0`0#0n584h554^53593h0n0`0i180e0u0M0E0u0P0M2Q0e5z411Q0_040T0d0K3t0q5$5j543h0`0j0Q5O0F0e0w0h2o5i5k1*0M0`0W5@5)355m4 2Q5r2#5~5W0T5T340P0s4c683w5W0c5}5E016a0`0Z4I646i5W0d5#5%5^2{5+5-5;5:6h5A0=5`045|4f5(6i5,5c5q6d3W666M3`0Q6K0i196P1*6O5D6B010e0z0`002b2d2f0h0V0q0E2j2S0P0Q2o0q1.1!1N0z6^0w0q6m0q0K0q006V5V0`0d6r4m5%6H6Z4|4T5e5;0E0N6A5U6C5{7k696b3)3t067b6u0=5v040U1A1M7o4u6w5.5:5=0h7C3W6D0L6F2Z7c7l5 045,0u6y632?7P340M564 7J5l047f0i7h7j6G7v016D020m0w0p7%1*6k3)3+6Y7Q5W5!7a7b6t5~7e517+0h7i7_1Q6D7N7X7/867g897-7O7/6D0C8b0=7{3=2Z7t835$7/7x0s5y7.857E0P5/5;5?8B6i7;0k7@8p7R7T7V750=806s8v7u8C7S6x0h6z8I6Z8d8N6J04628R016X6o7d6R8+0j6T7W317/8/2?7/6#6%0g2c0i0q0i0$2h0q0L0q0g8!5;6-1.4T6@72747~346q798t8V7Y5u0`0h0*7I9k6e0`819o9p846I7E8Q8$7Q8(9G3p8=8,9w6N0`679N6Q6S6U9R6W9P8-8 0400912d0q0k5n2D999b7G9e0j9g1N9i8-9m7s8W6i8y8A8l8X7T8E7G8H9~8J5{8e319q3%9E9c9@9y8U838g8=2W9M8:7 9X9V1Q9Z000G4~0I0M980q0D1N6;6?1N0H0%979jal9l0`6g9J7D8Y7F8G9vaH9x049n3@9pah5H0Nak8}65anaR3W0e1~04010b51aB2k008!0e0(0+7201ad04aKa47d0`7*7,a|aU3 9`6Z7x9t0eaQa#6pae828vaX04aj6Lao8Sa%bd6Zaq0o5=0x0Eaway0qaA6@aD0(6~aGbpama}8)8D8F7Hb43D0r4$0h2v2WbQ4M1u4O2y2B2w0y1LbT0r4N0|b%0$0(0*04.

Si votre script est juste, vous pouvez le tester ci-dessous (Cliquer sur Exécuter le code)

###(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