求和范围的函数给出:'int' object is not iterable
function to sum range gives: 'int' object is not iterable
我正在尝试编写一个函数,用户在其中给出范围的开始和结束,输出是该范围的总和。这是我最好的尝试:
def sum_range (start, end):
output = 0
userange = range(start, end)
for i in userange :
sum(i, output)
return output
我收到以下错误:
TypeError: 'int' object is not iterable
您需要:
def sum_range(start, end):
output = 0
userange = range(start, end)
for i in userange:
output += i
return output
或
def sum_range(start, end):
return sum(range(start, end))
你可以做到:
def sum_range(start, end):
return sum(range(start, end))
示例:
>>> def sum_range(start, end):
... return sum(range(start, end))
...
>>> sum_range(10,14)
46
您可能不需要构建 range
对象。简单地取等差数列的和:
def sum_range(start, end):
return (end - start) * (start + end - 1) // 2
print(sum_range(4, 30))
# 429.0
assert sum_range(4, 30) == sum(range(4, 30))
我正在尝试编写一个函数,用户在其中给出范围的开始和结束,输出是该范围的总和。这是我最好的尝试:
def sum_range (start, end):
output = 0
userange = range(start, end)
for i in userange :
sum(i, output)
return output
我收到以下错误:
TypeError: 'int' object is not iterable
您需要:
def sum_range(start, end):
output = 0
userange = range(start, end)
for i in userange:
output += i
return output
或
def sum_range(start, end):
return sum(range(start, end))
你可以做到:
def sum_range(start, end):
return sum(range(start, end))
示例:
>>> def sum_range(start, end):
... return sum(range(start, end))
...
>>> sum_range(10,14)
46
您可能不需要构建 range
对象。简单地取等差数列的和:
def sum_range(start, end):
return (end - start) * (start + end - 1) // 2
print(sum_range(4, 30))
# 429.0
assert sum_range(4, 30) == sum(range(4, 30))