Glouton recursif

Signaler
Messages postés
3
Date d'inscription
mercredi 17 février 2021
Statut
Membre
Dernière intervention
17 février 2021
-
Messages postés
14448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
-
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

Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
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

Messages postés
14448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
807
bonjour, n'oublie pas non plus de décrire les défauts de ton programme: pourquoi le corriger?
Messages postés
3
Date d'inscription
mercredi 17 février 2021
Statut
Membre
Dernière intervention
17 février 2021

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.
Messages postés
14448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 mars 2021
807
n'oublie pas non plus de décrire les défauts de ton programme: pourquoi le corriger?
Messages postés
3
Date d'inscription
mercredi 17 février 2021
Statut
Membre
Dernière intervention
17 février 2021

Quand on valide sur le site, il conserve pas l'indentation. Mais ceci se ressoud rapidement dans python.
Si ce n'était que ça?
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
674
On ne peut pas copier le code tant tu ne l'as pas indenté....
Messages postés
946
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
27 février 2021
102
Bonjour,

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

def test():
    print('test')

test()