Python 计算 n 个自然数的立方和
计算公式 13 + 23 + 33 + 43 + …….+ n3
实现要求:
输入 : n = 5
输出 : 225
公式 : 13 + 23 + 33 + 43 + 53 = 225
输入 : n = 7
输入 : 784
公式 : 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784
实例
# 定义立方和的函数
def sumOfSeries(n):
sum = 0
for i in range(1, n+1):
sum +=i*i*i
return sum
# 调用函数
n = 5
print(sumOfSeries(n))
def sumOfSeries(n):
sum = 0
for i in range(1, n+1):
sum +=i*i*i
return sum
# 调用函数
n = 5
print(sumOfSeries(n))
以上实例输出结果为:
225
Python3 实例
mickey
384***007@qq.com
参考方法:
n = int(input("请输入正整数n: ")) sum = 0 for i in range(1, n+1, 1): sum = sum + i**3 print(sum)mickey
384***007@qq.com
NathanLee1688
nat***lee1688@163.com
使用递归函数来计算 n 个自然数之和:
def sum_up(n:int) -> int: if n <= 1: return n else: return sum_up(n-1) + n**3 number = int(input("请输入一个自然数: ").strip()) print(sum_up(number))NathanLee1688
nat***lee1688@163.com
苏苏大魔王
231***8235@qq.com
使用列表解析表达式:
#使用列表解析式直接生成一个n次方列表,然后求和,便是前n个数3次方的和 print( sum([i**3 for i in range(1,int( input("请输入n的值:"))+1)]) )苏苏大魔王
231***8235@qq.com
7Wate
adm***7wate.com
使用 lambda 函数
函数形式:
def sumOfSeries(n): return (lambda n: sum([x*x*x for x in range(n+1)]))(n) print(sumOfSeries(5))7Wate
adm***7wate.com
Barrett
290***010@qq.com
擅用推导公式提高效率:
故此有:
def sumOfSeries(n): sum = 0 for i in range(1, n+1): sum +=i**3 return sum n=int(input('请输入自然数的个数')) print(f'{n}个自然数的立方和是:{(n*(n+1)/2)**2},{sumOfSeries(n)}')Barrett
290***010@qq.com