开发者

problematic python function returns

I have a function similar to the following:

def getCost(list):
  cost = 0
  for item in list:
    cost += item
  return cost

and I call it as so:

cost = getCost([1, 2, 3, 4])

This is GREATLY simplified but it illustrates what is going on. No matter what I do, cost always ends up == 0. If I change the value of开发者_StackOverflow社区 cost in the function to say 12, then 12 is returned. If I debug and look at the value of cost prior to the return, cost == 10

It looks like it is always returning the defined number for cost, and completely disregarding any modifications to it. Can anyone tell me what would cause this?


This should solve all of your problems (if summing the list items in cost is indeed what you're trying to do:

def getCost(costlist):
    return sum(costlist)

It accomplishes the exact same things and is guaranteed to work. It's also much more simple than using a loop and an accumulator.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜