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


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

Re: Somme, récursive

From Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Re: Somme, récursive
Date 2021-04-30 18:14 +0200
Organization Université de Strasbourg
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>

Show all headers | 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