Share your repls and programming experiences

← Back to all posts
4.5. For: Sum of cubes

For the given integer N calculate the following sum: 1³ + 2³ + ... + N³

WillKoehrsen (1)

Good work! This is also a nice opportunity to apply a recursive function. The below code does the same task but recursively, by calling itself!

``````n = int(input("N: "))

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

print(cuber(n))``````

To make a recursive function you need two parts:
1. The base case: how the program exits. The lines

``````if n == 1:
return 1``````

are the base case.

1. The recursive (general) case: the solution is expressed as a smaller version of itself. The line
``return n**3 + cuber(n - 1)``

is the recursive case.

Here's a link to the repl: https://repl.it/@WillKoehrsen/45-Recursive-For-Sum-of-cubes

Neil_Chaudhury (9)

OK, so the first thing you need to do is change
for e in range(n) to for e in range(1, n+1)
This way, you're starting from 1 and ending at n.
Also, the for loop where you are going through lst could be simplified to a sum(statement),
eg. total = sum(lst)
Hope this helped you,
Neil
Btw, I forked your real and applied the above changes. here is my link > https://repl.it/@Neil_Chaudhury/45-For-Sum-of-cubes

PYer (3503)

Cool! Just saying, I would make line one like this:
`n = int(input('N: '))`
That way they know to type.