添加范围的python中的三角形数字

时间:2013-07-16 22:42:53

标签: python math python-2.7 python-3.x discrete-mathematics

我正在努力解决我所知道的应该是一个非常简单的循环。我需要添加从0到n的所有数字。最终结果需要是一个正整数,但我知道如果它是负数我可以得到绝对值来评估它为正。

ex: n = 5 
    sum = 5 + 4 + 3 + 2 + 1
    sum = 15
到目前为止,我所拥有的是

def triangular(n):
    sum_ = 0
    for i in range(n):
        sum_-= n
    return sum_  

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:9)

难道不是吗?

def triangular(n):
    sum_ = 0
    for i in range(n+1):
        sum_+= i
    return sum_ 

这将添加从0到n的所有数字。虽然这可以放在一行:

def triangular(n):
    return sum(range(n+1))

答案 1 :(得分:7)

从0到N的数字之和是N(N + 1)/ 2。怎么样:

return n * (n+1) / 2

而不是使用循环?