Str to int


#1

Bonjour voila mon code:
courses = {"banane":1, "orange":1, "pomme":1}

stock = { "banane": 6,
"pomme": 0,
"orange": 32,
"poire": 15
}

prix = { "banane": 4,
"pomme": 2,
"orange": 1.5,
"poire": 3
}

Ecrivez votre code ci-dessous :

def calculer_facture(course):
k = 0
for i in course:
print stock[i]
if stock[i] == 0 or course[i] > stock[i]:
k = k + prix[i] * course[i]
stock[i] = 0
else:
k = k + prix[i] * course[i]
stock[i] -= 1 * course[i]
return k
voila l'erreur:Oups, merci de réessayer. Appelant calculer_facture avec une liste contenant 1 pomme, 1 poire and 1 banane causé l'erreur suivante: list indices must be integers, not str


#2

def calculer_facture(courses):
k = 0
for i in courses:
while(stock[i] > 0 and courses[i] > 0):
k = k + prix[i]
stock[i] -= 1
courses[i] -= 1
return k
meme erreur avec ce code


#3

j'ai trouvé il suffit de verifier le type:
if type(i) == type(0)