Autour des piles

Les piles sont des structures linéaires de données dont les éléments ne peuvent être ajoutés ou retirés qu'à partir d'une même extrémité, que l'on nomme aussi le sommet de la pile.

liste

Ce fonctionnement est appelé DEPS (Dernier Entré, Premier Sorti), LIFO en anglais (Last In, First Out).

C'est le principe de la pile d'assiettes : on pose les assiettes une par une sur les assiettes précédentes, et quand on prend une assiette, on la prend sur le dessus.

Il est possible d'effectuer les deux actions suivantes sur des piles :

  • empiler : ajouter un élément au sommet de la pile
  • dépiler : retirer un élément au sommet de la pile

On s'intéresse ici à une implémentation rudimentaire des piles en Python à l'aide de listes. Ce type dispose de méthodes pour ajouter ou supprimer des éléments.

Empiler un élément

La méthode append permet de mettre en œuvre l'action d'empiler une valeur :

🐍 Script Python
>>> pile = [1, 2, 3]
>>> pile.append(4)  # empile la valeur 4
>>> pile
[1, 2, 3, 4]
Dépiler un élément

La méthode pop et en particulier l'instruction pile.pop() permet de mettre en œuvre l'action de dépiler un élément du sommet de la pile et de renvoyer sa valeur :

🐍 Script Python
>>> pile = ["un", "deux", "trois", "quatre"]
>>> pile.pop()  # dépile un élément
'quatre'
>>> pile
["un", 'deux', 'trois']
>>> pile.pop()  # dépile un élément
'trois'
>>> pile
 ["un", 'deux']

Compléter le code 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 : 10/10
.128013s3_8èufvy ën7aSû1me(P24:jti]D[hE)6o;bcdg/0làqp.rLâ,=zk95Rxé050N0t0A0o0B0R0b0k0M0R0o0b0b0!010A0B0U010406050b0g0s0s0o0W0j040p0J0R0g0 0J0m0k020o0s0U0K0k0)0t190W0T0g0t0b050P16181a1c140U041A1H051K0P1K1M1H140N0B0i0@0_0{0}0F0B0O0F0R1!0F0A12050/0L0R0t1V0`0|011Z1#1%1#0A1-1/1+0A0L0J0N1c1,0W1I0A0F0@1f0b0U0o0m0}0w011;1X010h0;0t0m1n0t1+2c2e2j1?2m1/2p0s2r040a0k0v0W0J0U0J0b0B1i1k0-2a0W0W0t0M2M1A2t0m1I0P282Y0A2625270N2v0}1%0m2o2J1+1S1U0^1=2,0B2.0m221T1+0U2R1I2W2Y33152d1k2@2k2|0W190R120k0r2V3713362u391?3b3d3f0w3i2e3k2W2+013p0o3e040k0c3t2X143w3n0}3z3B0k0x3F3v373x3L3f0(3P3H3R3J3y0J3c3A3f0I3W3l381W3o3#3q3C0n3*3I3-3K3/3%3C0e3?3Y3^3!3$3M0%3~3m403T040r0Q453,2^413:0r3h1B3j3X464e480r3s4j3u4l4d3a3`3B0r3E4r3G3+3S4w120r3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0r444*4K3.4S0w4b4:4u4=3:0w4i334Q4X4%0w4q4 4W47524z554#4L4|4H5a4+5c3{0w4O5f4;3_4?4U5l4`5n4|4Z5q4R4|4)5v514?4/5z574S0c4^5D4,3:0c4~3j1J311A2=2#0N2)3x0M222B0,1T1I300t325N4I055W0-5(5m3y125$0s0B0t2R0d0U2n3P0k564e0J120!5}5 2k11040E3P651?5?120x545N5b1?670Z646i0}6d495k6h5g6j126l4I5~6n016p0I5e6s5/670C5}5047120-0g0*5@2A5`5|6x6b0}6104636T6z67695*6z6p536a6!6v6m6t6o0B120(5u6E5r016k6.5/6p0c5p6^3x6G6I6U5:042$0J0B2K1t0t6R1/6|6_6W6Y336y6/6`126$356(6;046*6%7m6{6Z7m6p6?6+7w6-7y6}7s6 7C6F126H6x066J4e0M0r12030k0G1o2n0W0k0R000+0R0+2A0m0A0k4}0k0N2e0?0_0k5=0B0f2R7@6S5I3a5;2R5?5^7d5{7f7v5/6W0V7J6_0m120o0U0U2o0N8b72120u8k3Z6)5M3u75670H3W7P2k7R7T0k0D0+855^0k0g1k7%7)2o7,2O7?7^7`1:8E5~4_3S120t1/7*0A0d0-8E0d8r2X7l88627g8V047^837e0t8o40898^4n5;2H8{668m8v4P8x1?8z047U8C8E7Z8H0k2|0g0i8X0k8J8Z7/1:8O817_7{8S4c8/8X7c7+8#0t8%6g3u8+7h8-7F8c801t5@5_8E8 1?8`879G8:8~9P8l040u924 7O7596988D7Y8G8I7(9k8N0o7@9o8Q7|867~957S970k0.7!001t9a7/7;7!9.6M6O0f2A9=8@8U4X8W8Y8L8.3Z7iag6K8:9o8=9L9Tah128aapak2I0U9M0}679W9sac04a56P847}71aq04as7q7m8d048f8h0m8jat4eazax769u8ZaX8u8w9!9_9$a09c9j8L9la39l6N7_a8ao9@0}9#9{7,7#9 9(7:0m7=9.787aa?8RaH4s75aOaZaf9F3xaibfaCaE7c8?aX9OaM5/aOava#91aBakb57b6Qa^aI8_araXaOaQ8ibt9VbEad9v0AbI9X4k94a`a)8B9%1/9b9*8K7+a/7?bxb7a9bv7QbT9|a~7XbWa1b2a:8P9qb94B6zbcae7+aj609E7kbb12b%blbA8s6zbobB8|9RawaU909VbPbab{9H829Kb_5.9DaKbKaP8gbHcf6ubJcw3KbLa!cz7n04ci3GbR01a{7Wa07#a-b!0%0%b;b3a;a6a@cocIaObkbzco75cac8aN8ecuaSbI8ncD6pcQbO3*0P5,5%5Oc`0P5R1A0A5Tc 2%2Z21232#0o1.c|5R1Gcp3x810d0h0o0$7d0F0c121s1u1w1y0k0y6a1N3k1H0Xdr0i1a0Bd81/0?2O0A0j8h5~c_3x1^1$1(1*dd4X0L121%0bbN5*c^5X3C0b1j7,0O0+0W0+dr2o0k0s7)792R0?5W181:0-0?1}0t0o6N7/0j2z0Bdq0?dtdv140g0R3k1%aP0z0J1h8Feg0k2R0 2R7Z0Sa:2m2N009cd}d 0k0ud?8h2T1TbM0k0O0W0Y0M1:d 0*d/0+285X0?5+5XdM1(1`1)2sc*ctaRaT35dZ5-a|dKeS3ZdNeVdQc3cdduc_cF0k0b9~0h0h2S0A1xe^0gbX1:0#1j1:5W7+1!0g0l9{1kd:0sd=1:9|0b1:dh2L7/1j0M0kep5W0q7,f7dW2e0Aased140Peadw04dy0kdHdJeR2Oe,eUdPeXbqdT04dVdXe$e?7@5^2A8Mfoa/0Md+8Fdh0M2n9,dr8E0?d.fv5^dAb!d{0k3A0O3#2L0F2Af:e{0B0M0oeI0bas1Q5Q0.0:0=04.