Glouton recursif

ivche Messages postés 3 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
quelqu'un peut-il corriger ce programme? il semble que c'est simple, mais je n'y arrive pas. Merci à vous.

S=[500,200,100,50,20,10,5,2,1]

def rendu_recur(somme,S,p_rendues=[],ind=0):
p_rendues=[]
if somme == 0:
return p_rendues
elif S[ind]<=somme:

return rendu_recur(somme=somme-S[ind],S,p_rendues.append(S[ind]),ind=1+ind)
elif ind == len(S)-1:
return-1
else:
somme-=S[ind]
return rendu_recur(somme,S,p_rendues.append(S[ind]),ind=1+ind)
print(rendu_recur(812,S,p_rendues))

5 réponses

  1. Utilisateur anonyme
     
    Bonsoir

    en python l'indentation est essentielle, pour la conserver sur le site il faut faire comme décrit là
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      bonjour, n'oublie pas non plus de décrire les défauts de ton programme: pourquoi le corriger?
      0
  2. ivche Messages postés 3 Statut Membre
     
    S=[500,200,100,50,20,10,5,2,1]

    def rendu_recur(somme,S,p_rendues=[],ind=0):
    if somme == 0:
    return p_rendues
    elif S[ind]<=somme:
    return rendu_recur(somme=somme-S[ind],S,p_rendues.append(S[ind]),ind=1+ind)
    elif ind == len(S)-1:
    return-1
    else:
    return rendu_recur(somme-=S[ind],S,p_rendues.append(S[ind]),ind=1+ind)
    print(rendu_recur(812,S,p_rendues))

    ce n'est pas du tout un problème d'indentation.
    Si vous voulez m'aider, copiez le dans python et vous verrez.
    Merci.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      n'oublie pas non plus de décrire les défauts de ton programme: pourquoi le corriger?
      0
  3. ivche Messages postés 3 Statut Membre
     
    Quand on valide sur le site, il conserve pas l'indentation. Mais ceci se ressoud rapidement dans python.
    Si ce n'était que ça?
    0
  4. Utilisateur anonyme
     
    On ne peut pas copier le code tant tu ne l'as pas indenté....
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

    On ajoute les balises de code Python et quand on valide, on voit ça:

    def test():
        print('test')
    
    test()
    
    0