我正在尝试对先前定义的名为 sum 的变量进行递增。
return [sum = sum + number for number in range(a,b)]
当然,这种格式会引发错误,但使用类似的方法:
return [sum = number for number in range(a,b)]
代码有误,但可以运行。如果有一种方法可以实现它并返回总和,那么代码将起作用。
如果有人能告诉我有关我永远的感激之词,那么
答案 0 :(得分:2)
以下是一些可能的答案。您正在使用的称为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函数。
答案 1 :(得分:0)
Try the following:
return sum([number for number in range(a,b)])
As said in the commentaries, sum
is a python built-in function which, given an array, it returns the result of the addtion of all elements in it
答案 2 :(得分:0)
您实质上重新实现了内置功能sum
。只需直接调用该函数:
return sum(range(a, b))