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
.128013,:Lkn9DàSvsu8z;y7e[620]r5_pag)R1iè/ûé=mhb.4xjodt cE(ëâP3qlf050V0s0W0C0H0*0l0X0Y0*0C0l0l0M010W0H0B010406050l0m0N0N0C0y0q040j0U0*0m0 0U0f0X020C0N0B0p0X0F0s190y0)0m0s0l050J16181a1c140B041A1H051K0J1K1M1H140V0H0k0@0_0{0}0O0H0D0O0*1!0O0W12050/0P0*0s1V0`0|011Z1#1%1#0W1-1/1+0W0P0U0V1c1,0y1I0W0O0@1f0l0B0C0f0}0v011;1X010+0;0s0f1n0s1+2c2e2j1?2m1/2p0N2r040a0X0%0y0U0B0U0l0H1i1k0-2a0y0y0s0Y2M1A2t0f1I0J282Y0W2625270V2v0}1%0f2o2J1+1S1U0^1=2,0H2.0f221T1+0B2R1I2W2Y33152d1k2@2k2|0y190*120X0G2V3713362u391?3b3d3f0v3i2e3k2W2+013p0C3e040X0(3t2X143w3n0}3z3B0X0R3F3v373x3L3f0z3P3H3R3J3y0U3c3A3f0u3W3l381W3o3#3q3C0r3*3I3-3K3/3%3C0n3?3Y3^3!3$3M0g3~3m403T040G0w453,2^413:0G3h1B3j3X464e480G3s4j3u4l4d3a3`3B0G3E4r3G3+3S4w120G3O4A3Q4m4v424F3V4I4t4D4M493)4P4C3Z4o3=4V3@4n4E493}4!3 4$4S0G444*4K3.4S0v4b4:4u4=3:0v4i334Q4X4%0v4q4 4W47524z554#4L4|4H5a4+5c3{0v4O5f4;3_4?4U5l4`5n4|4Z5q4R4|4)5v514?4/5z574S0(4^5D4,3:0(4~3j1J311A2=2#0V2)3x0Y222B0,1T1I300s325N4I055W0-5(5m3y125$0N0H0s2R0A0B2n3P0X564e0U120M5}5 2k11040t3P651?5?120R545N5b1?670b646i0}6d495k6h5g6j126l4I5~6n016p0u5e6s5/670x5}5047120-0m0S5@2A5`5|6x6b0}6104636T6z67695*6z6p536a6!6v6m6t6o0H120z5u6E5r016k6.5/6p0(5p6^3x6G6I6U5:042$0U0H2K1t0s6R1/6|6_6W6Y336y6/6`126$356(6;046*6%7m6{6Z7m6p6?6+7w6-7y6}7s6 7C6F126H6x066J4e0Y0G12030X0Z1o2n0y0X0*000L0*0L2A0f0W0X4}0X0V2e0?0_0X5=0H0I2R7@6S5I3a5;2R5?5^7d5{7f7v5/6W0Q7J6_0f120C0B0B2o0V8b72120!8k3Z6)5M3u75670E3W7P2k7R7T0X0h0L855^0X0m1k7%7)2o7,2O7?7^7`1:8E5~4_3S120s1/7*0W0A0-8E0A8r2X7l88627g8V047^837e0s8o40898^4n5;2H8{668m8v4P8x1?8z047U8C8E7Z8H0X2|0m0k8X0X8J8Z7/1:8O817_7{8S4c8/8X7c7+8#0s8%6g3u8+7h8-7F8c801t5@5_8E8 1?8`879G8:8~9P8l040!924 7O7596988D7Y8G8I7(9k8N0C7@9o8Q7|867~957S970X0.7!001t9a7/7;7!9.6M6O0I2A9=8@8U4X8W8Y8L8.3Z7iag6K8:9o8=9L9Tah128aapak2I0B9M0}679W9sac04a56P847}71aq04as7q7m8d048f8h0f8jat4eazax769u8ZaX8u8w9!9_9$a09c9j8L9la39l6N7_a8ao9@0}9#9{7,7#9 9(7:0f7=9.787aa?8RaH4s75aOaZaf9F3xaibfaCaE7c8?aX9OaM5/aOava#91aBakb57b6Qa^aI8_araXaOaQ8ibt9VbEad9v0WbI9X4k94a`a)8B9%1/9b9*8K7+a/7?bxb7a9bv7QbT9|a~7XbWa1b2a:8P9qb94B6zbcae7+aj609E7kbb12b%blbA8s6zbobB8|9RawaU909VbPbab{9H829Kb_5.9DaKbKaP8gbHcf6ubJcw3KbLa!cz7n04ci3GbR01a{7Wa07#a-b!0g0gb;b3a;a6a@cocIaObkbzco75cac8aN8ecuaSbI8ncD6pcQbO3*0J5,5%5Oc`0J5R1A0W5Tc 2%2Z21232#0C1.c|5R1Gcp3x810A0+0C0e7d0O0(121s1u1w1y0X0c6a1N3k1H0ddr0k1a0Hd81/0?2O0W0q8h5~c_3x1^1$1(1*dd4X0P121%0lbN5*c^5X3C0l1j7,0D0L0y0Ldr2o0X0N7)792R0?5W181:0-0?1}0s0C6N7/0q2z0Hdq0?dtdv140m0*3k1%aP0T0U1h8Feg0X2R0 2R7Z0ia:2m2N009cd}d 0X0!d?8h2T1TbM0X0D0y0$0Y1:d 0Sd/0L285X0?5+5XdM1(1`1)2sc*ctaRaT35dZ5-a|dKeS3ZdNeVdQc3cdduc_cF0X0l9~0+0+2S0W1xe^0mbX1:0o1j1:5W7+1!0m0#9{1kd:0Nd=1:9|0l1:dh2L7/1j0Y0Xep5W0K7,f7dW2e0Wased140Jeadw04dy0XdHdJeR2Oe,eUdPeXbqdT04dVdXe$e?7@5^2A8Mfoa/0Yd+8Fdh0Y2n9,dr8E0?d.fv5^dAb!d{0X3A0D3#2L0O2Af:e{0H0Y0CeI0las1Q5Q0.0:0=04.