Python make list of odd numbers – Python Program to Find Sum of Odd Numbers Using Recursion in a List/Array

Python make list of odd numbers: In the previous article, we have discussed Python Program to Check Armstrong Number using Recursion

Given a list and the task is to find the sum of odd numbers using recursion in a given list in python.

Recursion:

Recursion is the process by which a function calls itself directly or indirectly, and the associated function is known as a recursive function. Certain issues can be addressed fairly easily using a recursive approach. Towers of Hanoi (TOH), Inorder /Preorder/Postorder Tree Traversals, DFS of Graph, and other analogous issues are examples.

Some of them are:

  • Sum of array using recursion in python
  • Sum of array elements using recursion in c
  • Sum of array using recursion coding ninjas
  • Sum of array elements using recursion javascript

Examples:

Example1:

Input:

Given List = [6, 12, 4, 2, 3, 9, 1, 5]

Output:

The Sum of Odd Elements in a given list [6, 12, 4, 2, 3, 9, 1, 5] = 18

Example2:

Input:

Given List = [4, 3, 1, 5, 11]

Output:

The Sum of Odd Elements in a given list [4, 3, 1, 5, 11] = 20

Program to Find Sum of Odd Numbers Using Recursion in a List/Array in Python

Below are the ways to find the sum of odd numbers using recursion in a given list in python:

Method #1: Using Recursion (Static Input)

Approach:

  • Give the list as static input and store it in a variable.
  • Calculate the length of the given list and store it in another variable.
  • Take a variable say rslt_sum and initialize its value to 0.
  • Pass the given list and length of the given list as the arguments to the oddelemt_sum function.
  • Create a recursive function to say oddelemt_sum which takes the given list and length of the given list as the arguments and returns the sum of odd numbers in a given list using recursion.
  • Make the rslt_sum a global declaration.
  • Check if the length of the given list is greater than 0 using the if conditional statement.
  • If the statement is true, then subtract 1 from the length of the given list and store it in a variable k.
  • Check if the element present at the index k of the given list is odd using the modulus operator and if conditional statement.
  • If the statement is true, add the element present at the index k of the given list to the above-initialized rslt_sum.
  • Store it in the same variable.
  • Pass the given list and k value as the arguments to the oddelemt_sum function.{Recursive Logic}
  • Return rslt_sum.
  • Print the sum of odd numbers in the above-given list.
  • The Exit of the Program.

Below is the implementation:

# Create a recursive function to say oddelemt_sum which takes the given list and length
# of the given list as the arguments and returns the sum of odd numbers in a given list
# using recursion.


def oddelemt_sum(gven_lst, len_lst):
    # Make the rslt_sum a global declaration.
    global rslt_sum
    # Check if the length of the given list is greater than 0 using the if conditional
    # statement.
    if(len_lst > 0):
        # If the statement is true, then subtract 1 from the length of the given list and
        # store it in a variable k.
        k = len_lst-1
   # Check if the element present at the index k of the given list is odd using modulus
   # operator and if conditional statement.
        if(gven_lst[k] % 2 != 0):
            # If the statement is true, add the element present at the index k of the
            # given list to the above-initialized rslt_sum.
            # Store it in the same variable.
            rslt_sum = rslt_sum+gven_lst[k]
           # Pass the given list and k value as the arguments to the oddelemt_sum function
           # {Recursive Logic}.
        oddelemt_sum(gven_lst, k)
       # Return rslt_sum.
    return rslt_sum


# Give the list as static input and store it in a variable.
gven_lst = [6, 12, 4, 2, 3, 9, 1, 5]
# Calculate the length of the given list and store it in another variable.
len_lst = len(gven_lst)
# Take a variable say rslt_sum and initialize its value to 0.
rslt_sum = 0
# Pass the given list and length of the given list as the arguments to the oddelemt_sum
# function.
# Print the sum of odd numbers in the above-given list.
print("The Sum of Odd Elements in a given list",
      gven_lst, "=", oddelemt_sum(gven_lst, len_lst))

Output:

The Sum of Odd Elements in a given list [6, 12, 4, 2, 3, 9, 1, 5] = 18

Method #2: Using Recursion (User Input)

Approach:

  • Give the list as user input using list(),map(),input(),and split() functions.
  • Store it in a variable.
  • Calculate the length of the given list and store it in another variable.
  • Take a variable say rslt_sum and initialize its value to 0.
  • Pass the given list and length of the given list as the arguments to the oddelemt_sum function.
  • Create a recursive function to say oddelemt_sum which takes the given list and length of the given list as the arguments and returns the sum of odd numbers in a given list using recursion.
  • Make the rslt_sum a global declaration.
  • Check if the length of the given list is greater than 0 using the if conditional statement.
  • If the statement is true, then subtract 1 from the length of the given list and store it in a variable k.
  • Check if the element present at the index k of the given list is odd using the modulus operator and if conditional statement.
  • If the statement is true, add the element present at the index k of the given list to the above-initialized rslt_sum.
  • Store it in the same variable.
  • Pass the given list and k value as the arguments to the oddelemt_sum function.{Recursive Logic}
  • Return rslt_sum.
  • Print the sum of odd numbers in the above-given list.
  • The Exit of the Program.

Below is the implementation:

# Create a recursive function to say oddelemt_sum which takes the given list and length
# of the given list as the arguments and returns the sum of odd numbers in a given list
# using recursion.


def oddelemt_sum(gven_lst, len_lst):
    # Make the rslt_sum a global declaration.
    global rslt_sum
    # Check if the length of the given list is greater than 0 using the if conditional
    # statement.
    if(len_lst > 0):
        # If the statement is true, then subtract 1 from the length of the given list and
        # store it in a variable k.
        k = len_lst-1
   # Check if the element present at the index k of the given list is odd using modulus
   # operator and if conditional statement.
        if(gven_lst[k] % 2 != 0):
            # If the statement is true, add the element present at the index k of the
            # given list to the above-initialized rslt_sum.
            # Store it in the same variable.
            rslt_sum = rslt_sum+gven_lst[k]
           # Pass the given list and k value as the arguments to the oddelemt_sum function
           # {Recursive Logic}.
        oddelemt_sum(gven_lst, k)
       # Return rslt_sum.
    return rslt_sum


# Give the list as user input using list(),map(),input(),and split() functions.
# Store it in a variable.
gven_lst = list(map(int, input(
   'Enter some random List Elements separated by spaces = ').split()))
# Calculate the length of the given list and store it in another variable.
len_lst = len(gven_lst)
# Take a variable say rslt_sum and initialize its value to 0.
rslt_sum = 0
# Pass the given list and length of the given list as the arguments to the oddelemt_sum
# function.
# Print the sum of odd numbers in the above-given list.
print("The Sum of Odd Elements in a given list",
      gven_lst, "=", oddelemt_sum(gven_lst, len_lst))

Output:

Enter some random List Elements separated by spaces = 4 3 1 5 11
The Sum of Odd Elements in a given list [4, 3, 1, 5, 11] = 20

Find the best practical and ready-to-use Python Programming Examples that you can simply run on a variety of platforms and never stop learning.

Test Yourself:

  1. Write a python program to calculate the sum of a list of numbers using recursion?
  2. Check number in array using recursion in python?
  3. Check number in array using recursion in java?
  4. Write a python program to calculate the sum of a list of numbers using recursion?
  5. Python program to find sum of odd numbers using recursion in a list/array?

Related Posts On: