Problème "list index out of range"

Résolu/Fermé
FostRunt - Modifié le 23 oct. 2020 à 18:33
 FostRunt - 24 oct. 2020 à 16:46
Bonjour,
Je débute en programmation Python, mais dans le cadre de mon travail, il m'est demandé de programmer un algorithme glouton, permettant d'afficher la monnaie à rendre pour les clients.
Le problème étant que mon algorithme ne prend pas en compte les centimes, et lorsque l'une des valeurs d'entrée comporte des centimes, l'erreur suivant est affiché " line 11, in rendre_monnaie
if retour_monnaie<valeurs[i]:
IndexError: list index out of range"

Si quelqu'un pourrait m'aider, je ne comprend pas d'où vient le problème...
Je code en python 3, et grace au logiciel Pyzo.
Merci d'avance !

valeurs=[0.01,0.02,0.05,0.1,0.2,1,2,5,10,20,50]
valeurs.reverse()

def rendre_monnaie(cout,somme_client,valeurs):
    nombre_billets=[]
    retour_monnaie=somme_client-cout
    i=0
    while retour_monnaie>0:
        if retour_monnaie<valeurs[i]:
            i=i+1
        else :
            retour_monnaie=retour_monnaie-valeurs[i]
            nombre_billets.append(valeurs[i])


    return nombre_billets



Configuration: Macintosh / Chrome 86.0.4240.111

9 réponses