Glouton recursif

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

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. Contributeur
      n'oublie pas non plus de décrire les défauts de ton programme: pourquoi le corriger?
  2. Quand on valide sur le site, il conserve pas l'indentation. Mais ceci se ressoud rapidement dans python.
    Si ce n'était que ça?
    1. On ne peut pas copier le code tant tu ne l'as pas indenté....
      1. Bonjour,

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

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