递增到列表的 for 方法



我正在尝试实现对先前定义的称为sum的变量的增量。

return [sum = sum + number for number in range(a,b)]

当然,这种格式会带来错误,但使用类似的:

return [sum = number for number in range(a,b)]

代码有问题,但可以运行。如果有办法实现它并返回 sum,代码就会起作用。

而且,如果有人能告诉我这个命名法,我将永远感激不尽。

这里有一些可能的答案。您正在使用的内容称为list comprehension.

s += (b*(b-1) - a*(a-1))//2
s += sum([n for n in range(a,b)])
for n in range(a,b):
s += n

将变量命名sum不是一个好主意,因为它是一个内置的 Python 函数。

尝试以下操作:

return sum([number for number in range(a,b)])

如注释中所述,sum是一个python内置函数,给定一个数组,它返回其中所有元素相加的结果

您基本上重新实现了内置函数sum。只需直接调用函数:

return sum(range(a, b))

最新更新