Programmation python aide fonction récursive

dobb13 Messages postés 1 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 28 novembre 2010 - 28 nov. 2010 à 16:31
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 29 nov. 2010 à 11:05
Bonjour,

Je débute en programmation en langage python

Et j'aimerai avoir de l'aide sur la récursivité (une fonction qui s'auto-appelle)

J'ai une fonction itérative qui étant donné une liste l et une valeur x retourne une liste correspondant à celle de départ moins toutes les occurrences de la valeur x

Il faut que je réécrive cette fonction de façon récursive mais je bloque

1 réponse

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
29 nov. 2010 à 11:05
Bonjour.
Je pense que tu peux faire un truc du genre :
def removeElts(theList, x):
    if len(theList) == 0:
          return theList # pas d'élement à traiter
    else:
          firstElt = theList[0]
          lastsEltsClear removeElts(theList[1:], x) # fin de la liste sans occurrence de x
          if firstElt == x: # le premier élément est une occurance de x
              return lastsEltsClear # on renvoit que la fin de la liste
          else:
              return [firstElt] +  lastsEltsClear #on renvoit le premier élément + la fin de la liste sans occurrence de x


Ps : bon ce n'est pas super niveau optimisation. Mais bon ce n'est pas le but de ton exercice je suppose.
0
Rejoignez-nous