gpt4 book ai didi

python - Django、Python循环逻辑问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:34 24 4
gpt4 key购买 nike

部分有效。可能需要更多信息,但是,我想我会发帖以获取有关此处可能存在的任何明显错误的建议。

问题是如果 activity.get_cost() 返回一个 False 值,该函数似乎完全退出,返回 None

当然,我希望它做的是在 costs = [] 中累加 cost 十进制值并返回它们的总和。很简单,我本以为……但我的 Python 新手显然缺少了一些东西。

根据要求提供更多信息。谢谢。

def get_jobrecord_cost(self):
costs = []
for activity in self.activity_set.all():
cost = activity.get_cost()
if cost:
costs.append(cost)
if len(costs):
return sum(costs)
else:
return False

最佳答案

我注意到如果所有成本都为 None,您将返回 False;我不知道这是否有特定原因,但这确实使编写起来有点困难。如果这不是必需的,你可以这样写:

def get_jobrecord_cost(self):
costs = [activity.get_cost() or 0 for activity in self.activity_set.all()]
return sum(costs)

关于python - Django、Python循环逻辑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/641145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com