
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Using Set in Python for Pangram Checking
In this article, we will learn how to determine whether a string is “pangram” or not in Python 3.x. Or earlier. A pangram string contains every letter in the list of English language alphabets . Let us look at the illustration below −
Provided Input: str = 'This is the python blog on Tutorial point' Desired Output: No Provided Input : str='I want to contribute to a 'dxyzwuvghlkfmq' open source project' Desired Output: Yes
By definition, a perfect pangram includes every letter of the ‘26 English alphabets’ exactly once. This tutorial doesn’t include the concept of ‘perfect pangram’.
Now Let’s look at the problem statement and set of constraints.
Problem Statement − Given a string check whether it is Pangram or not.
Constraints
- Lowercase and Uppercase are considered the same.
- No compulsion on the perfect Pangram case as discussed above.
Input: First line of input contains the test string ‘str_input ’ Output: Print 'String is a Pangram' if conditions evaluate to be true, otherwise it displays 'String is not a Pangram'.
Related Data Structure
Set() & List() Comprehension
Prerequisite
String & String Operations
Let us quickly go through the algorithm we are implementing in this problem −
Our first task is to convert the complete input string in lowercase or uppercase. Here I am using uppercase conversion using upper() method of data type “string” in Python 3.x. Or earlier.
Now with the help of (str_input) function, we can create a list of all distinct elements present in the input string.
Now we will make a new list “dist_list” which contain all distinct alphabets without any number or special character.
Now check whether the length of the dist_list is 26 or not. If the condition holds true, the input is a Pangram otherwise not.
Example
# user-defined function to check Pangram def check_pangram(input): # convert input string into uppercase str_input = str_input.upper() # convert input string into Set() # a list of distinct elements will be formed. str_input = set(str_input) # separate out alphabets from numbers and special characters # ord(ch) returns the ASCII value of the character dist_list = [ char for char in str_input if ord(char) in range(ord('a'), ord('z')+1)] if len(dist_list) == 26: return 'String is a Pangram' else: return 'String is not a Pangram' # Executable main function if __name__ == "__main__": str_input = input() print check_pangram(str_input)
Conclusion
In this article, we learnt how to figure out if a string is Pangram or not using Python 3.x. Or earlier. You can implement the same algorithm to create a pangram detector program in any other programming language.