Path: csiph.com!usenet.pasdenom.info!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.lang.python Subject: Re: Somme, =?utf-8?Q?r=C3=A9cursive?= Date: Thu, 29 Apr 2021 22:38:50 +0200 Message-ID: <87mttgakrp.fsf@izac.org> References: <48-dnbOA4f2klhb9nZ2dnUU7983NnZ2d@giganews.com> Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="22402"; mail-complaints-to="usenet@izac.org" Xref: csiph.com fr.comp.lang.python:3483 Bonjour, Le 29/04/2021 à 21:38, raph a écrit dans le message <48-dnbOA4f2klhb9nZ2dnUU7983NnZ2d@giganews.com> : > J'essaie de faire une question de mon DM de NSI mais problème, je > bloque. Aider moi svp :,) > Il faut faire la somme de (4,7,5,5,2,6,9,3,8,4) en utilisant une > récursivité. > Voici la question: > "Implémenter une fonction récursive max_pyr(pyramide) retournant la > somme maximale de la pyramide." > > Je n'y arrive pas j'ai essayé en créent cela: > def max_pyr(liste): > somme=0 > if len(liste)<=0: > return somme > else: > somme+=liste[0] > liste.del[0] > return (max_pyr(liste),somme) Quand une liste n'a aucun élément, la somme vaut 0 (ou None, ou n'importe quoi que l'on décide). Quand une liste n'a qu'un élément, la somme vaut la valeur de cet élément. Quand une liste a N éléments, la somme vaut la valeur du premier élément + la somme des N-1 suivants (ou la valeur du dernier élément + la somme des les N-1 précédents, au choix). Après, la « somme maximale », ça n'a pas vraiment de sens. Est-ce la somme ou bien la valeur maximale que l'on cherche ? Vu le nom de la fonction « max_pyr », je dirais plutôt la valeur maximale… La valeur maximale d'une liste c'est la plus grande valeur entre le premier élément et la valeur maximale des éléments suivants. NB : Tu me diras combien j'ai eu. -- Benoit Izac