我正在尝试创建一个函数,该函数将列出所有小于 n 的立方体。然后将所有这些数字放在一起并打印出来,但是 .count() 没有像我希望的那样工作。有没有一种方法可以计算列表中的每个数字,还是我必须一个一个地检查列表才能将它们加起来?
def sum_cubes_less(n):
'''Return the sum of the cubes of the positive integers less than n.'''
x = 1
cubes = [x**3 for x in range(1,n)]
return cubes.count()
print(sum_cubes_less(2**8))
请您参考如下方法:
count 用于计算列表中出现的次数。
您想使用sum 对所有立方体求和。 您还可以通过计算立方体然后添加到总和来避免将所有立方体保存在内存列表中(因为您只想要总和)。
def sum_cubes_less(n):
'''Return the sum of the cubes of the positive integers less than n.'''
return sum(x**3 for x in range(1, n))
编辑:使用生成器形式更简单、更轻松、更快。
