Python Program to Determine How Many Times a Given Letter Occurs in a String Recursively

The best and excellent way to learn a java programming language is by practicing Simple Java Program Examples as it includes basic to advanced levels of concepts.

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.

Given a string and a character the task is to count the occurrence of the given letter in the string using recursive approach in Python.

Examples:

Example1:

Input:

Enter some random string= btechgeeks
Enter some random character= e

Output:

Priting the count of e in the given string btechgeeks = 3

Example2:

Input:

Enter some random string= symphony 
Enter some random character= y

Output:

Printing the count of y in the given string symphony = 2

Program to Determine How Many Times a Given Letter Occurs in a String Recursively

Below are the ways to count the occurrence of the given letter in the string using recursive approach in Python.

Method #1:Using Recursion(Static Input)

Approach:

  • Give the string and character as static input.
  • Pass the string and the characters to a recursive function as arguments.
  • Pass the fundamental constraint that the string is not empty.
  • If the initial character of the string is the same as the character taken from the user, increment the count.
  • The string is progressed in either direction, and the number of times the letter appears in the string is printed.
  • Exit of program.

Below is the implementation:

# function which returns count of the given character in the string recursively.


def checkCountRecursively(given_string, character):
  # Pass the fundamental constraint that the string is not empty.
    if not given_string:
        return 0
    # If the initial character of the string is the same as the character
    # taken from the user, increment the count.
    elif given_string[0] == character:
        return 1+checkCountRecursively(given_string[1:], character)
    # The string is progressed in either direction, and the number of times
    # the letter appears in the string is printed.
    else:
        return checkCountRecursively(given_string[1:], character)


# given string as static input
given_string = 'btechgeeks'
# given character as static input
given_character = 'e'
# passing the given character and given string to checkCountRecursively function
print('Priting the count of', given_character, 'in the given string',
      given_string, '=', checkCountRecursively(given_string, given_character))

Output:

Priting the count of e in the given string btechgeeks = 3

Method #2:Using Recursion(User Input)

Approach:

  • Scan the string and character as user input using input() function.
  • Pass the string and the characters to a recursive function as arguments.
  • Pass the fundamental constraint that the string is not empty.
  • If the initial character of the string is the same as the character taken from the user, increment the count.
  • The string is progressed in either direction, and the number of times the letter appears in the string is printed.
  • Exit of program.

Below is the implementation:

# function which returns count of the given character in the string recursively.


def checkCountRecursively(given_string, character):
  # Pass the fundamental constraint that the string is not empty.
    if not given_string:
        return 0
    # If the initial character of the string is the same as the character
    # taken from the user, increment the count.
    elif given_string[0] == character:
        return 1+checkCountRecursively(given_string[1:], character)
    # The string is progressed in either direction, and the number of times
    # the letter appears in the string is printed.
    else:
        return checkCountRecursively(given_string[1:], character)


# Scan some random string as user input using input() function.
given_string = input('Enter some random string= ')
# Scan some random character as user input using input() function.
given_character = input('Enter some random character= ')
# passing the given character and given string to checkCountRecursively function
print('Printing the count of', given_character, 'in the given string',
      given_string, '=', checkCountRecursively(given_string, given_character))

Output:

Enter some random string= symphony
Enter some random character= y
Printing the count of y in the given string symphony = 2

Explanation:

  • A string and a character must be entered by the user and stored in distinct variables.
  • The recursive function is given the string and the character as arguments.
  • The basic criterion is that the string is not empty.
  • The count is increased if the first character of the string matches the character taken from the user.
  • The string is updated by passing it back to the method recursively.
  • The number of times the letter appears in the string is displayed.

Related Programs: