gpt4 book ai didi

python - 所有数字的总和

转载 作者:太空狗 更新时间:2023-10-29 19:35:28 24 4
gpt4 key购买 nike

我需要编写一个函数来计算所有数字 n 的总和。

Row 1:          1 
Row 2: 2 3
Row 3: 4 5 6
Row 4: 7 8 9 10
Row 5: 11 12 13 14 15
Row 6: 16 17 18 19 20 21

将上面的行想象成一个“数字三角形”会有所帮助。该函数应采用一个数字 n,它表示有多少个数字以及要使用的行。第 5 行的总和是 65。我如何让我的函数对任何 n 值执行此计算?

为清楚起见,这不是家庭作业。那是在最近的期中考试中,不用说,我被难住了。

最佳答案

第 5 列最左边的数字是 11 = (4+3+2+1)+1,即 sum(range(5))+1。这通常适用于任何 n

所以:

def triangle_sum(n):
start = sum(range(n))+1
return sum(range(start,start+n))

正如很多人所指出的,您可以将 sum(range(n)) 解析地表示为 n*(n-1)//2 这样就可以了通过以下方式更优雅地完成:

def triangle_sum(n):
start = n*(n-1)//2+1
return sum(range(start,start+n))

关于python - 所有数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com