Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中添加范围的三角形数字_Python_Math_Python 2.7_Python 3.x_Discrete Mathematics - Fatal编程技术网

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

python中添加范围的三角形数字,python,math,python-2.7,python-3.x,discrete-mathematics,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_ 任何帮助都将不胜感

我正在努力解决我知道应该是一个非常简单的循环的问题。我需要把从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_  
任何帮助都将不胜感激。

不是吗

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))

从0到N的数字之和为NN+1/2。那么:

return n * (n+1) / 2

而不是使用循环?

您没有指出您的问题是什么。为什么你要做减法而不是加法?如果你想计算和,1。为什么会期望正整数之和为负?2.你为什么要求和。它不应该是sum+=i吗?3.有一个求和函数,例如sumrange5=15。这显然是在实际代码中应该做的事情,但对于试图理解如何将英语算法翻译成Python循环的新手来说,这不是很有帮助。@abarnert很抱歉,我的回答没有帮助。这个问题在Python循环语法方面似乎没有问题,而是将数字相加。正如您所说的,这种解决方案在实际代码中可能会更受欢迎,因为它只需几次操作即可实现目标。这显然是在实际代码中正确的做法,但……并不意味着它没有帮助;这意味着它是有帮助的,因为它显然是在现实生活的代码中做的正确的事情。别那么防御性。