Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8818393
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T05:05:44+00:00 2026-06-14T05:05:44+00:00

I need to write a program that compute cumulative sums from a list of

  • 0

I need to write a program that compute cumulative sums from a list of numbers with def but ONLY with recursion.
I did it, but now I need to write the same program without using the method sum, but no success so far.
Any idea?

my code:

def rec_cumsum(numbers):
        ''' Input: numbers - a list of numbers,
                Output: a list of cumulative sums of the numbers'''
        if len(numbers)==0: return numbers

        return rec_cumsum(numbers[:-1])+ [sum(numbers)]

input:

1 [1,2,3]

2 [2, 2, 2, 3]

output:

1 [1,3,6]

2 [2, 4, 6, 9]


my code without sum:

def rec_cumsum(numbers):
        ''' Input: numbers - a list of numbers,
                Output: a list of cumulative sums of the numbers'''
        if len(numbers) == 0: return numbers
        my_list=[]
        rec_cumsum(my_list + numbers)
        my_list[0]=numbers[0]
        rec_cumsum(my_list)
        temp_sum=my_list[0]+numbers[-1]
        my_list[0]=temp_sum
        return my_list
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T05:05:45+00:00Added an answer on June 14, 2026 at 5:05 am

    What you can do is: –

    • Create a temp list(an empty one).
    • Pass your original list and the empty list in your method.
    • Now, when you pass your list for the first time, just add the first element from your original list to it. And call the same method with the rest of the list. Starting from 1st element.
    • When your method is invoked after wards, you need to take a sum of last element of your temp list and first element of the original list that is now modified. And add the sum to your temp list as new element.
    • Finally, when the length of your original list becomes 0. Return your temp.

    **Here’s the code for the above steps. You can compare it with the one you have implemented, and see where you went wrong: –

    def rec_cumsum(numbers):
        if len(numbers) == 0 : return temp
    
        # You need to check, if `temp` is empty, that means method is called first time.
        if not temp:   
            temp.extend([numbers[0]])   // Just add the first element to it.
    
        else:
            # Else, get the last element from `temp`, 
            # add it to `first elemt` in `numbers` and add it to `temp`.
            temp.extend([temp[-1] + numbers[0]])
    
        return rec_cumsum(numbers[1:])
    
    my_list = [2, 2, 2, 3]
    temp = []
    print rec_cumsum(my_list)
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm going to need to write a program that takes a list of persons
I need to write a simple program that records all the input from parallel
I need to write a haskell program that retrieves a file from command line
I need to write a program that prints 0.(03) for input 1 and 33.
I need to write a program that takes input line at a time and
I need to write a program that uses matrix multiplication to rotate an image
I need to write a C++ code coverage program that takes in another C++
I need to write a little program in C that parses a string. I
I need to write a simple program for work that does the following: read
I have a program that looks like this. I need to consistently write something

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.