Aller au contenu

Somme v2

On reprend la même classe que dans l'exercice précédent.

Une classe Pile avec implémentation récursive

🐍 Script Python
class Pile():
    def __init__(self, données=None):
        self.données = données
        Pile.taille = taille

    def est_vide(self):
        return self.données is None

    def empile(self, élément):
        reste = self.données
        sommet = élément
        self.données = (reste, sommet)

    def dépile(self):
        if self.est_vide():
            raise ValueError("Pile vide !")
        reste, sommet = self.données
        self.données = reste
        return sommet

Exercice 💥 💥

Coder une méthode somme à cette classe Pile qui renvoie la somme des éléments de la pile.

⚠ La méthode devra être récursive et s'appuyer sur les données disponibles.

👍 Tous les éléments seront des entiers.

###(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,5/f.7rnb _o=ylaepcwgu)vd4613kRméhtsP(S0+2i:050z0r0J0q0R0p0K0k0t0p0q0K0K0n010J0R0s010406050K0w0G0G0q0h0o040N0m0p0w0-0m0i050d0@0_0{0}0=0s04051d161g0d1d0=0z0R0y0#0%0)0+0I0R0v0I0p1u0I0J0:050W0j0p0r1p0(0*011t1v1x1v0J1D1F1B0J0h1e0J0I1H1r010e0Y0r0i0q0G0r010#100K0s0q0i0+0Q1B1/1;1Y1J1#1F1(1*0:0a0k0L0h0m0s0m0K0R130i0k0U1-0h0h0r0t2b161_0i1e0d1W2o1T1V1U1C0z1{0+1x0i1%281B1m1o0$1I2y0R2A0i0m2E1B0s2h1e2m2o2S0?1:2c2G1Z2L0h0`0p0:0C2l2W0;2V1`2Y1J2!2$0:0Q2*1;2,2m2x012;0q2%040D2^2n0=2{2/0+2~300A332`2W2|390:0c3c353e372}0m2#2 0:0B3j2-2X1q2:3o2=040g3c1h2Q162E2r0z1V2w3m0t2M1+1e3G1f3E2U172+053M0U2R3l3w0+0E0:0U0e3C363#010u0:0k3+3!2H2}0e0:0K0m0_0r3=2.3-0/040M3 3v3@0j420K0r0p3*3U2_3u2|420x0S3t3,3@3/040k4q3;4e2n4g3m0K0z0:014A0k0F1%0y0m0R1G0%0k3{3}2d4I0q0k0s1$0k4A013j4r3;4m1Z3%040R4d2S4Y3?1Z483`4b4(3V4Z1J0m0:0f453f0:0r0K0J0l0y0R0U4`3m420M4j4W4X4r4v3-4#2h0J0w0h154t4p5c3@0G0R0:0O594q5m4!4|0Z3~5k5u1J424k5k065a5b4=380:2h4~5y2U5I01420b3c4*403@0i3`3|1*0J5T5A0+4@040n5$5P4-044a4c543-5)4_5z5P5X040z140i0H4}5s5a5%015e0V5h5j4)645{4L5!5,4+4?0:0P6f5V2Z0:0L1$5=3@566q6m045L0J5N4;6g0+4i6t6h045^5O6A2}5Y3}6D6B0:573t0d3X0r2o2P6T3F1n3H2r2u2p0q1E6W0d3G0=6*0V0X0Z04.