如何使用 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
我可以得到立方体的答案,但我真的不知道从这里到哪里才能得到 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