Aller au contenu

Dévoiler le sommet d'une pile

La cadre

On suppose qu'on dispose d'une classe Pile, avec les méthodes suivantes :

  • __init__ : l'initialiseur permet d'obtenir une instance de Pile vide.
  • est_vide : revoie un booléen ; True si l'instance est vide.
  • empile : modifie l'instance en ajoutant un élément au sommet.
  • dépile : modifie l'instance en supprimant un élément au sommet et le renvoie.

👍 Voir >>> help(Pile) pour plus de détails.

Exercice : Dévoiler le sommet d'une pile

À une classe Pile, ajouter une méthode dévoile_sommet qui renvoie le sommet de la pile. La pile doit retrouver son état en fin de traitement.

⚠ Si la pile est vide, on devra provoquer une erreur avec raise ValueError("Pas de sommet !")

⚠ On ne connait pas les détails de construction de la classe Pile.

👍 On ne dispose que des méthodes d'une pile ; on ne pourra que :

  • créer une pile vide,
  • tester si une pile est vide,
  • empiler,
  • dépiler.
###(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 : /
.128013,59/f.q!78rnb _o=ylaepcwgu)vdV4613kRméhtsP(S02i:E050D0v0O0u0V0t0P0o0x0t0u0P0P0r010O0V0w010406050P0A0L0L0u0l0s040S0q0t0A0=0q0m050e0|0~10120`0w04051i1b1l0e1i0`0D0V0C0*0,0.0:0N0V0z0N0t1z0N0O0^050#0n0t0v1u0-0/011y1A1C1A0O1I1K1G0O0l1j0O0N1M1w010f0%0v0m0u0L0v010*150P0w0u0m0:0U1G1@1_1%1O1*1K1-1/0^0a0o0Q0l0q0w0q0P0V180m0o0Z1=0l0l0v0x2g1b1~0m1j0e1#2t1Y1!1Z1H0D200:1C0m1,2d1G1r1t0+1N2D0V2F0m0q2J1G0w2m1j2r2t2X0{1^2h2L1(2Q0l0 0t0^0o0H2q2#0_2!1 2%1O2)2+2-0U2:1_2=2r2C012`0u2,040o0I2~2s0`312^0:34360o0F3a302#323g2-0c3k3c3m3e330q2*352-0G3r2?2$1v2_3w2{370j3B3d3E3f3G3y370k3K3t3M3v3x3h0d3S2@3U3o040H0T3Z3D2M3V3H0H2/1c2;1m2V1b2J2w0D1!2B3u0x2R1:1j3_1k3@2Z3;2 053 0Z2W3T3,0J0^0Z0f3k3C320y2-4j3L3,0m0f4g0M0C0q1+0p0P0q0~0!4o4d1(0@040R4D3!3,0n4G0P0v0t4i472s4k3u4G0B0W3*4l2-0o4$4J3+1(0P0D0^014.4Z3u4+4#4$0K1,4v0V1L1K0o4z4B0O2i4|0u0o0w1+0b0o0,551+0o2m1Y0q0A0C1L4z2h0M0#511,0o1*2h2j1Y0$0O0v1/0m0O0g4:3U4=374$0o0S0V0o0n0v4z2O582U0q4v0h0A1L0E355U0X2l3w0W280-524~4A1/510i5C3,5E5G0o4.013r5=4U3U4f040V4R2X0o5{4L4N4P603=4p1(0q0^5B4S4c4K2(0^5M0O0p0C0V0Z4(324G0R4X5_5=5G631(5}0l0$4O3k62692_415W160v5Z2a0l6p4V0^4I6e6x1O0P1|04010Q5(2j4 5,0o0i5^6S6F0:4W3r065`6,330^6$4C6e6E4E1O6b040r6D6T0:4M6@666O3U6~6d2Z6=0m4t561K773,6r0B6u4%6=74044O4Q7h6a6c7s2_6i0L7f0v7v6-6Q7B6?7p5+6_7b6|7C047k6e6:6w6=6z0!0A0l1a6`727F6^0O3B0e4a0v2t2U7)3^1s3`2w2z2u0u1J7,0e3_0`7_0!0$0(04.