Difficulté **
important
pile
Filtre sur pile
Cet exercice utilise des piles qui seront représentées par des listes Python.
Si pile
est une pile, alors pile == []
indique si la pile est vide, pile.pop()
retire
et renvoie le sommet de la pile et pile.append(v)
ajoute la valeur v
au sommet de la
pile.
Si on considĂšre quâune fonction manipule une pile, elle ne peut pas utiliser dâautres opĂ©rations que celles dĂ©crites ci-dessus.
On cherche à écrire une fonction positifs
qui prend une pile de nombres entiers en
paramĂštre et qui renvoie une nouvelle pile contenant les entiers positifs de la pile initiale,
dans le mĂȘme ordre, quitte Ă modifier la pile initiale.
Pour cela, on va également écrire une fonction renverse
qui prend une pile en paramĂštre
et qui renvoie une nouvelle pile contenant les mĂȘmes Ă©lĂ©ments que la pile initiale, mais
dans lâordre inverse. Cette fonction sera Ă©galement amenĂ©e Ă modifier la pile passĂ©e en
paramĂštre.
Exemples
đ Console Python >>> renverse ([ 1 , 2 , 3 , 4 , 5 ])
[5, 4, 3, 2, 1]
>>> positifs ([ - 1 , 0 , 5 , - 3 , 4 , - 6 , 10 , 9 , - 8 ])
[0, 5, 4, 10, 9]
>>> positifs ([ - 2 ])
[]
Compléter le script ci-dessous
Compléter le code Python des fonctions renverse
et positifs
ci-aprĂšs
.128013f06S:d=4yr./opg2mcb1!w937CveĂȘ[ l,8P5)ti]knĂ©;ua(_shq050g0C0M0U0N0G0X0F0s0G0U0X0X0h010M0N0o010406050X0T0r0r0U0k0j040e0n0G0T0@0n0Q050m0~1012140|0o04051k1d1n0m1k0|0g0N0B0,0.0:0=0Y0N0p0Y0G1B0Y0M0`050%0t0G0C1w0/0;011A1C1E1C0M1K1M1I0M0k1l0M0Y0,170X0o0U0Q0=0q011O1y010b0)0C0Q0U0r0C1I1+1-1=1Q1^1M1{1}0`0a0F0J0k0n0o0n0X0N1a0Q0F0#1)0k0k0C0s2i1d200Q1l0m1%2v1!1$1#1J0g220=1E0Q1`2f1I1t1v0-1P2F0N2H0Q0n2L1I0o2o1l2t2v2Z0}1,2j2N1?2S0k110G0`0F0u2s2%0{2$212)1Q2+2-2/0q2=1-2@2t2E012|0U2.040F0y302u0|332`0=36380F0i3c322%343i2/0K3m3e3o3g350n2,372/0d3t2^2(1x2{3y2}390z3D3f3G3h3I3A390I3M3v3O3x3z3j0x3U2_3W3q040u0c3#3F2O3X3J0u2;1e2?3u3$3.3(0u2 3?313^3-2*3Q380u3b3~3d3E3p430`0u3l473n3_423Y4c3s4f404a4j3)3C4m493w3{3L4s3N3`4b3)3T4x3V4z4p0u3!4f1o2X1d2L2y0g1$2D3w0s2T1~1l4N1m4L2#4J4T0#2Y4E1?0P0`0#0b3m4t3W0w2/4/4y2*0b0`2o0Q0B0C0k0X0C4@4)1Q0_040V534h2{0`0o1_5941550`0L0f3,344=390F5p5f340X0g0`02030y0x0S5w5y5A5x5z4|0B0n0N1N0T2H0F5d1M1)0Q0M1`1-0M0F1M0+0r0D1}0+0R0G0R1}5R0+0Z0T1N5O0C0H5l3w5t2/5p0F110N0+0g1-0+0G5B5z3y0g2o0F2Q4~500C0l5?3W5^5o5p0A0$5S0F0b1b2q0N1b2k0R1!0T2h5N1_0l635D5C6A3t5`0F4:3`5c1_0W694 513m6G4^1Q0n0`0h6P6H1?560E0O6P066F6X1Q4+040w1A1M6W6R3h6J6/4f6Q540=6T040v6V6^6)0=6Z0O5k4m6F6(6;356?0C6L4}6N524J796|6d7h6`7a040U0o0o1`0g5r3w56587l5a6=045:7u3W7j7D6I7B2d7G6Y0`0V0L0L6$787m6+2o0M0T0k1c70790Q7b7d6a6O6^067+71016+4-7K1Q5n6G7y5g3h4`7I2g0@0b0X7;727M817n7C7^34565j6e3.7?5`846g6A8h5E0S5G5I5K5M5:5Q5S1{5R5W0C5$5(5*0M0+2e7}0N7 2k5/1_5=4D7z016g6F5 0Q611N5Z1}0F652o0l0F6j1W1N6n0Q6p6r0g6t0k6v5V5:6z8j8i5C6E8e7!7$8B2h8D807Z7m6|6 2Z6_8K737Q8^7S0`6-5e8 8K7#7B9c937-6|6~6:7m73752Z6%775q8_040C0G0M9m8K919z7_859h2?9j0`7k2#9u2e0o847w7P7*9s9t99048D9C3p0`9w9y9d9D6|020p0M0S922?949D0r0N0`3+877v0`9p9.9r9S989e8`2f8|7 847F9^3%0`7p7r0Q7ta73.7w849f9!9O5i8@9T8K7T0$7W7Y9i9u5G7fak57aha18Ca4ae7L049Q9q1d4$0C2v2WaK4M1u4O2y2B2w0U1LaN0m4N0|aX0$0(0*04.
# Tests
(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)