4.5. For: Sum of cubes
For the given integer N calculate the following sum: 1³ + 2³ + ... + N³
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:
- The base case: how the program exits. The lines
if n == 1: return 1
are the base case.
- 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
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,
Btw, I forked your real and applied the above changes. here is my link > https://repl.it/@Neil_Chaudhury/45-For-Sum-of-cubes