J'ai une fonction similaire à ce qui suit:fonction python problématique renvoie
def getCost(list):
cost = 0
for item in list:
cost += item
return cost
et je l'appelle comme ceci:
cost = getCost([1, 2, 3, 4])
Ceci est très simplifié, mais il illustre ce qui se passe. Peu importe ce que je fais, le coût finit toujours == 0. Si je change la valeur du coût dans la fonction pour dire 12, alors 12 est retourné. Si je débogue et regarde la valeur de coût avant le retour, coût == 10
Il semble qu'il renvoie toujours le nombre défini pour le coût, et complètement sans tenir compte de toutes les modifications à lui. Quelqu'un peut-il me dire ce que cela causerait?
Le code fonctionne pour moi (notez que vous ne devriez pas nommer une variable 'list'). – bernie
Il manque quelque chose Quand j'ai essayé l'échantillon,' cost == 10' après l'appel – outis
Je crains que vous aurez besoin de poster plus de code ... la méthode définie ci-dessus (littéralement couper et coller dans python 2.6 et 3.1 et obtenu expec comportement du ted) – cwallenpoole