Program to Check if a String is a Pangram or Not

Python Program to Check if a String is a Pangram or Not

Strings in Python:

A Python string is an ordered collection of characters used to express and store text-based data. Strings are saved in an adjacent memory area as individual characters. It is accessible in both directions: forward and backward. Characters are merely symbols. Strings are immutable Data Types in Python, which means they cannot be modified once they are formed.

Pangram:

If a sentence or string contains all 26 letters of the English alphabet at least once, it is considered to be a pangram.

Examples:

Example1:

Input:

given string ="Helloabcdfegjilknmporqstvuxwzy"

Output:

The given string helloabcdfegjilknmporqstvuxwzy is a pangram

Example2:

Input:

given string ="hellothisisbtechgeeks"

Output:

The given string hellothisisbtechgeeks is not a pangram

Python Program to Check if a String is a Pangram or Not

There are several ways to check if the given string is pangram or not some of them are:

Drive into Python Programming Examples and explore more instances related to python concepts so that you can become proficient in generating programs in Python Programming Language.

Method #1:Naive Approach

Approach:

  • Scan the given string or provide static input.
  • Use the lower() method to convert this string to lowercase.
  • The brute force method is to take a string that contains all of the letters of the English alphabet.
  • Traverse through all of the alphabet’s characters string
  • Check to see if this character appears in the given string.
  • If it isn’t present, return False.
  • Return True at the end of the loop (which implies it is pangram)

Below is the implementation:

# Python Program to Check if a String is a Pangram or Not
def checkPangramString(string):

    # creating a new string (alphabet string which stores all the alphabets of the english language
    AlphabetString = 'abcdefghijklmnopqrstuvwxyz'

    # Traverse through the alphabets string
    for char in AlphabetString:
        # Check if this character is present in given string .
        if char not in string.lower():
            # if yes then this character is not available hence return False
            return False
    # After the end of loop return True (which implies it is pangram)
    return True


# given string
string = "Helloabcdfegjilknmporqstvuxwzy"
# converting the given string into lower case
string = string.lower()
# passing this string to checkPangramString function which returns true
# if the given string is pangram else it will return false

if checkPangramString(string):
    print("The given string", string, "is a pangram")
else:
    print("The given string", string, "is not a pangram")

Output:

The given string helloabcdfegjilknmporqstvuxwzy is a pangram

Method #2:Using set() method

The following program can be easily implemented in Python by using the set() method.

Approach:

  • Scan the given string or provide static input.
  • Use the lower() method to convert this string to lowercase.
  • Use the set() function to convert this string to a set.
  • Determine the length of the set.
  • If the length is 26, it is a pangram (since the English language has only 26 alphabets).
  • Otherwise, it is not a pangram.

Below is the implementation:

# Python Program to Check if a String is a Pangram or Not
def checkPangramString(string):

    # converting given string to set using set() function
    setString = set(string)
    # calculate the length of the set
    length = len(setString)
    # If the length is 26, it is a pangram so return true
    if(length == 26):
        return True
    else:
        return False


# given string
string = "Helloabcdfegjilknmporqstvuxwzy"
# converting the given string into lower case
string = string.lower()
# passing this string to checkPangramString function which returns true
# if the given string is pangram else it will return false

if checkPangramString(string):
    print("The given string", string, "is a pangram")
else:
    print("The given string", string, "is not a pangram")

Output:

The given string helloabcdfegjilknmporqstvuxwzy is a pangram

Note:

This method is only applicable if the given string contains alphabets.

Method #3:Using Counter() function (Hashing)

The following program can be easily implemented in Python by using the counter() function

Approach:

  • Scan the given string or provide static input.
  • Use the lower() method to convert this string to lowercase.
  • Calculate the frequency of all characters in the given string using Counter() method
  • Calculate the length of the Counter dictionary.
  • If the length is 26, it is a pangram (since the English language has only 26 alphabets).
  • Otherwise, it is not a pangram.

Below is the implementation:

# Python Program to Check if a String is a Pangram or Not
# importing counter from collections
from collections import Counter


def checkPangramString(string):

    # Calculate the frequency of all characters in the given string
    # using Counter() method
    frequ = Counter(string)
    # calculate the length of the frequency dictionary which is
    # returned from counter() function
    length = len(frequ)
    # If the length is 26, it is a pangram so return true
    if(length == 26):
        return True
    else:
        return False


# given string
string = "Helloabcdfegjilknmporqstvuxwzy"
# converting the given string into lower case
string = string.lower()
# passing this string to checkPangramString function which returns true
# if the given string is pangram else it will return false

if checkPangramString(string):
    print("The given string", string, "is a pangram")
else:
    print("The given string", string, "is not a pangram")

Output:

The given string helloabcdfegjilknmporqstvuxwzy is a pangram

Note:

This method is only applicable if the given string contains alphabets.

Related Programs: