Q:

How do you count consonants in a string in python?

0

How do you count consonants in a string in python

In this exercise, you will learn how to write a Python program to count the total number of consonants present in a string. This type of logical coding question is generally asked in the programming interview. We should be aware that the perfect solution to the most fundamental coding or programming inquiries decides how we perform in an interview. There are several ways to count the total number of consonants present in a given string. Here, we have mentioned most of them-

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Using forloop 1

Here is the Python program to count consonants present in a given string using a for loop. When the user entered the string as input, it passed through the for loop statement. If the letter is a consonant, the counter increases.

# Count consonants & vowels in a string using Python
 
vowels=0
consonants=0

# Enter an input string 
user_input = input("Enter a string: ")
 
# convert string in case insensitive
string = user_input.lower()
 
for i in string:
    if(i == 'a'or i == 'e'or i == 'i'or i == 'o'or i == 'u':
        vowels=vowels+1;
    else:
        consonants=consonants+1;
 
print("The number of vowels:",vowels);
print("\nThe number of consonant:",consonants);

Output of the above code - 

Enter a string: apple
The number of vowels: 2

The number of consonant: 3

Using forloop 2

Here is the other way to count the total consonants present in a string using a for loop. First, we initialised the consonants with a 0 variable. When the user entered the string as input, we stored it in a variable and applied the lower() method to make it case insensitive. In programming, the vowels in the uppercase string "AEIOU" count as different characters than the vowels in the lowercase string "aeiou". Next, we have passed the string through the for loop statement and checked for each character, updating the counter accordingly. If the letter is a consonant, the counter increases.

# Count consonants in a string using Python
 
consonants=0

# Enter an input string 
user_input = input("Enter a string: ")
 
# convert string in case insensitive
string = user_input.lower()
 
for i in range(0,len(string)):  
    if string[i] not in ('a',"e","i","o","u"):  
        consonants = consonants + 1;  
 
print("The number of consonant:",consonants);

Output of the above code - 

Enter a string:  ostrich is the largest bird
The number of consonants: 21

Using Iterative Method

Here, we have used an iterative method to count total consonants in a string-

# Count consonants in a string using Python

# Define function to check for consonant 
def check_consonant(x): 
      
    # convert string in lowercase
    x = x.lower() 
  
    return not (x == 'a' or x == 'e' or 
                x == 'i' or x == 'o' or 
                x == 'u') 

# function to count consonants  
def countConsonants(string): 
      
    count = 0
      
    for i in range(len(string)): 
  
        # To check is character is Consonant 
        if (check_consonant(string[i])): 
            count += 1
              
    return count 
  

# Enter an input string 
user_input = input("Enter a string: ")
print("The number of consonants:", countConsonants(user_input)) 

Recursive Method

Recursion function is a function that is called itself. In the given example, we have called the recursion function to get the total consonants in a string input. A recursion function continues until some condition is met to prevent it. That's why we use the if statement to break the infinite recursion.

# Program to count consonants

# function to check consonant 
def check_consonant(x): 
      
    return not (x == 'a' or x == 'e' or 
                x == 'i' or x == 'o' or 
                x == 'u')
  
# Count total number of consonants from 0 to n-1 
def count_consonants(string, n): 
      
    if n == 1: 
        return check_consonant(string[0]) 
  
    return count_consonants(string, n - 1) + check_consonant(string[n-1]) 
  
  
# Enter an input string 
user_input = input("Enter a string: ")
 
# convert string in case insensitive
string = user_input.casefold()

print("The number of consonants: ",count_consonants(string, len(string))) 

Output of the above code - 

Enter a string: Success is journey
The number of consonants:  12

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Python Exercises, Practice Questions and Solutions

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
How to read JSON from URL requests in python?... >>
<< How to multiply all elements in list Python?...