File avec deux piles
On choisit d'implémenter une file à l'aide d'un couple [p1, p2] où p1 et p2 sont des piles. Ainsi file[0] et file[1] sont respectivement les piles p1 et p2.
Défiler une valeur
Pour défiler file, deux cas se présentent :
Interface des piles
La structure de pile est utilisable au travers de leur interface constituée des fonctions suivantes :
creer_pile_vide: renvoie une pile vide.depiler: prend en paramètre unepileet renvoie le sommet qui est dépilé.empiler: prend unelementquelconque et unepileet renvoie une nouvelle pile oùelementest le sommet.est_pile_vide: prend en paramètre unepileet renvoie True si la pile est vide.
🐍 Console Python
>>> ma_pile = creer_pile_vide()
>>> est_pile_vide(ma_pile)
True
>>> empiler(ma_pile, 5)
>>> empiler(ma_pile, 4)
>>> depiler(ma_pile)
4
A partir des opérations sur les piles fournis dans le module, écrire en Python les fonctions suivantes :
- une fonction
creer_file_vide()qui renvoie unefilevide de tout élément. - une fonction
est_file_vide(file)qui prend en argument unefileet qui renvoieTruesi lafileest vide,Falsesinon. - une fonction
enfiler(file, valeur)qui prend en arguments unefileet un élémentvaleuret qui ajoutevaleuren queue de lafile. - une fonction
defiler(file)qui prend en argument unefileet qui renvoie l'élément en tête de lafileen le retirant.
Exemple
🐍 Console Python
>>> ma_file = creer_file_vide()
>>> est_file_vide(ma_file)
True
>>> enfiler(ma_file, 1)
>>> enfiler(ma_file, 2)
>>> est_file_vide(ma_file)
False
>>> defiler(ma_file)
1
>>> defiler(ma_file)
2
Contraintes
On doit utiliser exclusivement les fonctions fournies.
Aucune connaissance de la manière dont sont stockées les valeurs de la pile n'est nécessaire.
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
.8217.128013s3_8ufvy n7aêSû1me(P24C:jtwi]D[hE)6Oo;bcdgM?/T0làqApQ.rL-,=+k%95Rxé050Q0t0B0n0D0X0c0k0P0X0n0c0c0,010B0D0#010406050c0g0s0s0n0(0j040p0M0X0g180M0l0k020n0s0#0N0k0=0t1i0(0Z0g0t0c050U1f1h1j1l1d0#041J1Q051T0U1T1V1Q1d0Q0D0i101214160H0D0R0H0X1-0H0B1b050{0O0X0t1(1315011,1.1:1.0B1_1{1@0B0O0M0Q1l1^0(1R0B0H101o0c0#0n0l160w011}1*010h0}0t0l1w0t1@2l2n2s1 2v1{2y0s2A040b0k0v0(0M0#0M0c0D1r1t0_2j0(0(0t0P2V1J2C0l1R0U2h2+0B2f2e2g0Q2E161:0l2x2S1@1#1%111~2^0D2`0l2b1$1@0#2!1R2)2+3c1e2m1t302t350(1i0X1b0k0r2(3g1c3f2D3i1 3k3m3o0w3r2n3t2)2@013y0n3n040k0d3C2*1d3F3w163I3K0k0x3O3E3g3G3U3o0;3Y3Q3!3S3H0M3l3J3o0K3)3u3h1)3x3.3z3L0m3?3R3_3T3{3:3L0f3 3+413-3/3V0:473v493$040r0W4e3^314a3|0r3q1K3s3*4f4n4h0r3B4s3D4u4m3j433K0r3N4A3P3@3#4F1b0r3X4J3Z4v4E4b4O3(4R4C4M4V4i3=4Y4L3,4x3~4(404w4N4i464-484/4#0r4d4?4T3`4#0w4k4|4D4~3|0w4r3c4Z4*4:0w4z584)4g5b4I3e1W3a1J2~2.0Q2=3G0P2b2K0^1$1R390t3b3s3Y055s0_5A4}160.1b0_0h5C4.2t0C3o5N4@3j0h1b0P2!0t0(0e2G0t0e0i0D0_5S5H011a040u0J0z4l3G5Q3L0k5{5,53160c0Q1b00631B0l0i0M0D1|0g2`0k5$0k5)0_63003)5{5|5O1 5J042!0B0g0(0l3Y0k5f4n5/0G5}3#5W5Y5!0#2w5(5*0t6C3,5/5;0+6w6y3j6E0t5Z0e6H1{6J5+4R6S1 6O0J0E3)59496p5L6M495_6x6$6n3T5V041H0B5#6I6g6L6^5T6(1b0u6;4w1b5$782t5/5=5@3,6?6l7c1 6062642x67690k0V0(1G0k2T0k126d2w0k6}6f6K6i6k7j6_016p6r6t6v4R6x7J0l1b6}6X706K7k166O7Y3H7a2w7#6A7#0s0D1b513e7J5/0E0J6R7J0M5_2n0Q7^743T7T0c6~6Y5%717)767#7S047b735-7*8d5~017,4O87047?6,6%5I5K0t5M8g5^5R8u4*6{2x5$0(8l778x4g7%1{8l6Q7P8p7$040i3J0t6t8l7f528v5`5|8F4n7m046i0!0A0M1q1|0X000@0X0@2J0l0B6f8Q6t0k0Y7y0n7A1{7G4Y6l7Q7 8N1C848C8Z7d889a3x8H727:958f9h5-8j047/5B7;1b0E8K3c945-8a8P1{8S9d7Z1b7@4Y6-4n6/8s7#6?896{5L2w999k8h7!9B8N8c9R3G7e5?8V7h3o7j9U8#915e7J8#930F0@6e6b0k8/8;2x8@2X7z9W4t8M9.6l657q1|0P0`9@8:8=0B7g49a15{9+4t938M6p0D8t9u8M8a7U846!9g9p9i9c9X4*9f8l6B9U9m57au8e9r8U5893ai7J6p0C1,8I8L7_5_35abaR95ap827V6Z869U9Tax8G8b7(a%1baBa)4n9m9o3D8M7=aIahaKa|ao1b9y8R9Q3s9v8h0M1b0,6wb46D040_988D89aza-04a/aF8ha=8l8n92a|aKa~6|1x9Pbf9U8a9~a@9qbj7+7-4ibo9tb3btb09Aa:9b049E5806aL957L0`7N7~9w8rbebi8EbN9ea+aQb(9CbDaCbFaEbBav8mbQ9 0U5E5z1S5l0U5n1J0B5pc12:2,2a2c2.0n1`b|b 5w1P5G8h2!0s5#0n0.5%0H0d1b1B1D1F1H0k9!5j1Z1U040F2n0 a68@0t0?5Z0P0Da60+0k1s0k1q0}0D0c6a6c827u2$6t1|2X840k0Q1s8@1{0 2Q0@0(0n2V0 0Q00972waa7C9{c!0@84c`cT6dc)8{2j0q8@5s0l822n8@8M1j2U0H1i0BcG1b090u0L0u0r0J09b^3D0%1S3t1Q0$0gc@1t6}0*0}c%8,8~cW0gcY2!dF8 a51s822U0g0@c!dU0g0?0k840 0Tdv1d0g0X3t1:dw040)00c-c/2Vc%6jcW1s0R6|0l5$aa2(2/d_3Ld82T821|8|c^1{0(7y8.a99`c%cC8}dY7Bc?9`0(dT0%0k0y0`dicN0#c.c:0DcOd10h0|9{1s0Pd45sd62jd90{8?du1W3t0Ud+1deQcz0)3.0c1F009?cTd(a89_8?7w1|e00g0ic!eg9}2wcM8-d:ewcO2X1ee00ld`0Q9;c_9`d 2Pe}3L2!5)ee8|em3JcS5Z0ke0cSetevc;cvc%c~9Peb9^c`9|8~c$ek8?em0te=c@bve9efd9ehfu1|0c3.181|0#0gfh1{fm98dMcEes0s0o2Jei1{eoeq0 fgc,eud;exfEezd30P0H0n0P6be6d5d7dPeKcFeC0leEe?f)e^2Wc}d}ee7D0@0R8Qc`8|eGf_eJdbeMcyeP0DeOd(d,058~3,0R231=2a0?2r0Qc:0n0*0B0j0#0t160D1i0R2Aef0{0*0C5*2h160n1qb6gKgz0H0t1;0BgQgS2r0H2!0h1+250#0c0z0Ub`5t0?0%0h3.gI0%0n0#g,0%0t0QdJg2g?0(0U2vf/690(0c0U2x0e2/0n8PdWh56I0_dWa!1Hhb0?0M0e0=0I0S0UgG0ngIha2J0}9z5!0P130%0c0i0Rgwgy0*0_0c0P0*2R2T2V162a250M0s1@gG0R0k3JgZ01e 8B2r0c0(0Pg*0Bg,g.g:0_g=g@0(g_g{g}g h12Vh3hih75Zhahchehg0?hi6Zhk0?hmi6hphrhthvgHhnhA0XhC0ehE0chGhI2rgN0QgP010x0W0/1@0U0n2+cy1QcBfEfP6HdLhN1013cM2R8`h*foiLcih8e$aac=0af?dNd4dd0(dfdhdj04dl0ldr6wfq9`0 hf2#7ycui*i,c:i.i:i=7Pi@8?c=eg5D5t040#4rb{04cMcO8~i~2hi-gvi/0u0wi;ds2*fif*dPdY8*eae fRf/0nctiZeee`jejc1Jjec{7y0ae8fe1feaj95F0#4zjeiRfN0 i%e@d=2Xjzf18?cMfI2Uba3,dejkj0jmdljp0-0rj39uj#f+0 0zi|f^7C82c%eD7y330@0|2!ghgngp49grgYguhKgLgBgDgFilkjgziwiygR0BgTgxgLgWgYg!kug$g(h:h=g/b{h_g^0tg`g|ish hEi10hh4h61,i5hb0lhdc/i9ib5%idifhohqhshuhwhy1W0D2!irithJgUhM1HhPhR2Uf+hU0MhWhY1Rh!h$0Xh(iUe9h,h.kEg-kGg;g?kJkLh~h0kPf+i2kTh8i6kXi8gRia5$0ek%dZk)iik,ilhaiM2#hFhHk@kr0H16iAiC2+iFd$cz0I1tf72nf/fyi|0 j50B0 1f1$db0 0l00gRf48@0O1H681tjDc?i%e!fPj}cOiSea0o2/g40}0@islQ1Tke4nkg24kik^klgE01k-gJkwkqgOlK01ktkvhLky24kAgTg%8slch?kHlgh{kKh}kNlkh2kRi3kUh9kWkYhfltk#lw8RielycGk*ijmhlDk:lF0c0wk?kpk_hOhQ2Sk}1sk l1hZ0sh#h%16l85Zlah/20g+ldh@cGmAh|kMg~mFkQkScKmJlqmMk!lvlx2wigmVlBhxhnlEirm$lHivmllLiBiDlPeNcf0!332TcMgxiKfLmZdFcDiQjwiTf0fC1tl!i#i%6e8|nNedj6jg1tji7Jj:dgj=dkjojq6wl|fEl~fQfojBjDl!dMjS5zjIn03La70XjNfBjP8`n@jbjVjajXfhj!g1j$c}c een-n:7vl!nBk69?ku0{0Xn?nZi+j;dij?0u0dn)7Pn+is0klS0k0s0M0j2x6cfPm_fri$nTe%f_d6c!k6jjn#osn%ov0U2o0dj{b3oykccf0)dOeHgr0M0O3Jk3gedaj*cN1t2m0(fPcK0Dooe|d`gdh$oD0(18f3e1o%5m0`0|0~04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)