如何制作sum_to程序?

时间:2013-12-01 16:42:49

标签: python python-3.3

sum_to(n)返回所有整数的总和,包括n。所以sum_to(10)将是1 + 2 + 3 ... + 10,它将返回值55。

我试过了,但它没有给我任何输出。

def sum_to(n):
    a= 0
    for x in range(n):
        a = x + 1
    return a 

sum_to(10)

4 个答案:

答案 0 :(得分:3)

当您调用具有返回值的函数时,除非您打印返回值,否则不会显示返回值,因此您需要执行此操作print(sum_to(10))。你的代码也有错误;您需要累积a而不是直接分配给它:a += x+1

当然,这不是计算1到10之和的好方法,因为有一个众所周知的公式可以直接给你数字:

def sum_to(n) :
  return n*(n+1)//2

答案 1 :(得分:2)

这里有两个问题:

  1. 您没有看到任何结果,因为您需要打印它们。将函数调用放入print

    print(sum_to(10))
    
  2. 您的代码需要a += x + 1,以便在for循环的每次迭代中更新a的值。否则,sum_to(n)的输出将始终为n


  3. 但是,您可以使用sumrange内置函数轻松完成此任务:

    >>> def sum_to(n):
    ...     return sum(range(n+1))
    ...
    >>> print(sum_to(10))
    55
    >>>
    

答案 2 :(得分:0)

为什么不两者兼顾?

print(sum(range(1,11)))

答案 3 :(得分:0)

问题是你应该写一个= a + x + 1,而且,如果你想在控制台上看到结果,你需要打印结果。