Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3491

Re: Somme, récursive

Path csiph.com!news.mixmin.net!aioe.org!oZUqNhYkyz6GHAeo9O/ldg.user.gioia.aioe.org.POSTED!not-for-mail
From Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Re: Somme, récursive
Date Fri, 30 Apr 2021 18:14:00 +0200
Organization Université de Strasbourg
Lines 53
Message-ID <875z0392d3.fsf@universite-de-strasbourg.fr.invalid> (permalink)
References <48-dnbOA4f2klhb9nZ2dnUU7983NnZ2d@giganews.com> <87mttgakrp.fsf@izac.org> <s6h6e3$k80$1@cabale.usenet-fr.net> <s6h72u$mo6$1@cabale.usenet-fr.net>
NNTP-Posting-Host oZUqNhYkyz6GHAeo9O/ldg.user.gioia.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding quoted-printable
X-Complaints-To abuse@aioe.org
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Cancel-Lock sha1:eRTIrg7wTAWtIxXIvMuy57S9asg=
X-Notice Filtered by postfilter v. 0.9.2
Xref csiph.com fr.comp.lang.python:3491

Show key headers only | View raw


Olivier Miakinen <om+news@miakinen.net> writes:

> Le 30/04/2021 17:06, je répondais à Benoit Izac :
>> 
>> Et vu la réponse de raph14 c'est la somme.
>> 
>> Noter que je ne peux pas lui répondre parce que le « PEAR::Net_NNTP v1.5.0
>> (stable) » de Giganews met du 8-bits dans la champ Subject et que ça fait
>> buguer mon SeaMonkey.
>
> En tout cas, si c'est bien la somme, et vu que je suis moi-même débutant
> (un mois à peu près ?) je me permets de divulgacher la solution.
>
> ========================================
> def somme(liste):
>     return sum(liste)
> ========================================

Ou simplement :

somme = sum

> ========================================
> def somme(liste):
>     if len(liste) == 0:
>         return 0
>     return liste[0] + somme(liste[1:])
> ========================================

Pour éviter la construction d'une nouvelle liste à chaque appel :

def somme (liste, i=0):
    if i < len (liste):
        return liste[i] + somme (liste, i+1)
    else:
        return 0

ou encore, pour faire le malin :

def somme (liste, i=0):
    return liste[i] + somme (liste, i+1) if i < len (liste) else 0

mais clairement, les listes de Python ne sont pas vraiment faites pour
l'algorithmique récursive classique.

-- Alain.

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Somme, récursive raph14 <nospam_rgb.baralle@gmail.com.invalid> - 2021-04-29 14:38 -0500
  Re: Somme, récursive Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-29 22:38 +0200
    Re: Somme, récursive Dominique <zzz@aol.com.invalid> - 2021-04-30 07:02 +0200
      Re: Somme, récursive Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-30 12:07 +0200
    Re: Somme, récursive raph14 <nospam_rgb.baralle@gmail.com.invalid> - 2021-04-30 09:56 -0500
    Re: Somme, récursive raph14 <nospam_rgb.baralle@gmail.com.invalid> - 2021-04-30 09:57 -0500
    Re: Somme, récursive Olivier Miakinen <om+news@miakinen.net> - 2021-04-30 17:06 +0200
      Re: Somme, récursive Olivier Miakinen <om+news@miakinen.net> - 2021-04-30 17:17 +0200
        Re: Somme, récursive Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-30 18:14 +0200
          Re: Somme, récursive raph14 <nospam_rgb.baralle@gmail.com.invalid> - 2021-04-30 11:46 -0500
        Re: Somme, récursive Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-30 20:09 +0200
          Re: Somme, récursive raph14 <nospam_rgb.baralle@gmail.com.invalid> - 2021-04-30 14:04 -0500
            Re: Somme, récursive Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-30 21:15 +0200
  Re: Somme, récursive debimax <debimax@free.fr> - 2021-04-30 15:03 +0200
    Re: Somme, récursive Dominique <zzz@aol.com.invalid> - 2021-04-30 18:46 +0200
      Re: Somme, récursive debimax <debimax@free.fr> - 2021-04-30 22:05 +0200
        Re: Somme, récursive Dominique <zzz@aol.com.invalid> - 2021-05-01 04:39 +0200

csiph-web