Oui la fonction récursive est bonne.
Mais il te reste à corriger l’itérative.
Comme je disais plus tôt, tu peu reprendre exactement le même comportement que pour la récursive : avancer en prenant la queue à chaque fois et incrémenter la taille.
Qui dit parcours itératif dit boucle, et tu n’en as pas actuellement.
Ici, c’est probablement un while qu’il te faudra.
Je pense qu’au contraire ça serait vachement utile pour quiconque passe par ici (élève comme professeur comme autodidacte).
Il faut dire et rappeler que l’option NSI (Numérique et Sciences de l’Informatique) a été introduite à la rentrée 2019 et venait du besoin de former les jeunes aux outils du numérique… Bref, vous m’avez compris.
J’insiste particulièrement sur cette digression pour deux raisons :
J’avais pour projet de passer le CAPES lié à cette matière.
Je me retrouve à dispenser des cours particuliers de NSI.
Et c’est assez intéressant de voir que non seulement le contenu pédagogique laisse énormément à désirer (alors que le sujet 0 semblait insister sur l’importance d’écrire de bonnes séquences pédagogiques et consort) et que les élèves semblent totalement s’abandonner aux âmes charitables de ce site.
Ça soulève pas mal de questions. D’abord est-ce que c’est un comportement récurrent de la part des élèves ? Comment est enseignée la matière ? Et au-delà de tout ça, où ZdS doit se positionner par rapport à tout ça ?
Edit: Parce que, rien que le message d’adri1 qui me semble on ne peut plus normal en terme de réponse pourrait sembler comme quelque chose de frappant pour le PO qui pourrait peut-être se dire « mais je risque d’apprendre des trucs que mon prof ne m’a pas appris ». Et ce n’est peut-être pas la mentalité générale. Est-ce qu’on apprend aux gens à chercher ?
Personne n’a déjà eu ce réflexe d’explorer en avance le sujet sa classe de collège / terminal juste par curiosité pure et simple ? Je me rappelle avoir été vivement critiqué dessus à l’époque (ne vous inquiétez pas, je le vis bien aujourd’hui !).
Est-ce que tu as vu la construction while en cours ou non ? Qu’est-ce que tu en as compris?
Encore une fois, écrire des trucs au pif ne va pas fonctionner et on ne va pas écrire le code pour toi. Pose nous des questions sur ce que tu ne comprends pas, on est là pour expliquer. Mais on peut difficilement deviner ce qui te pose problème…
Je t’invite en plus à lire ton code. C’est-à-dire, que fait-il ?
Là, c’est :
Je crée un compteur (nommé a).
Tant que la liste est vide (ici, vaut None),
alors je renvoie 0.
Sinon (ou est le Si ?),
j’augmente la valeur de mon compteur,
et le renvoie.
Et j’appuie @adri1 : teste ton code ! Nous ne sommes pas des interpréteurs python ; tu n’as pas besoin de nous pour trouver des erreurs de syntaxe. Python lui-même te les donne.
Par contre sa fonction ne retourne pas le bon résultat (enfin ça marche pour une liste vide, mais ça renvoie 1 dans tous les autres cas). Et ça, ça se voit très facilement en exécutant quelques tests.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte