创建一个接受一个参数的函数时遇到问题,并返回在1和参数之间添加奇数的结果?

时间:2016-05-09 09:01:29

标签: python python-3.x for-loop

到目前为止,我有这个......

  def sumOfOdds(n):
    result = 0
    for i in range(1, n+1, 2):
        result = result + i
        print(result)

这给了我总和,但它也打印了之前的所有数字。我只需要总和,而不是其余的值。

3 个答案:

答案 0 :(得分:0)

您可以使用for循环,将range()与2 step

一起使用
sum = 0
max = 11
for i in range(1, max, 2): # not including max
    sum += i
print sum

#out:25 (1 + 3 + 5 + 7 + 9)

答案 1 :(得分:0)

result = [i for i in xrange(0, arg) if i % 2 == 0]

也许就像这样

答案 2 :(得分:0)

num = 10
sum(filter(lambda x: x%2, xrange(0, num)))

# Output: 25