如何使用 python 中的函数添加立方体的总和?

How to add the sum of cubes using a function in python?

我可以得到立方体的答案,但我真的不知道从这里到哪里才能得到 return 返回答案并继续将其添加到总和中的函数!我必须怎么做才能让它不断增加以获得总数?

def sumNCubes(n):
    for i in range(n)
    return (n-1)**3
def main():
    number = int(raw_input("What number do you want to find the sum of cubes for?"))
    n = number + 1
    for i in range(number):
        n = n - 1 
    print "The result of the sums is:", sumNCubes(n)
main()

你可以简单地做这样的事情:

def sumNCubes(n):
    return sum(i**3 for i in range(1,n+1))

对 1-n+1 范围内的立方数使用列表理解(1-n 不包括 n),然后使用 python 内置 sum 函数对所有的求和立方体。

然后您可以只传递您的输入并打印它:

def main():
    number = int(raw_input("What number do you want to find the sum of cubes for?"))
    #this doesn't do anything but change n to 0
    #for i in range(number):
    #    n = n - 1 
    print "The result of the sums is:", sumNCubes(number)
main()

输入 5,这将 return:

>>> sumNCubes(5)
225

答案很简单。这将通过递归方法给出。

这是计算 N 个数之和的函数,你已经非常接近这个了

def sumNcubes(n):
  if (n == 1):
    return 1
  else:
    return n**3 + sumNcubes(n-1)

>>>sumNcubes(6)
441

不使用 n**3

def sum_cubes (n):
    b, c, sum = 1, 0, 0
    for a in range(0, 6*n, 6):
        sum += (c := c + (b := b + a))
    return sum

没有循环

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