Using Set() in Python Pangram Checking
Given a string check if it is Pangram or not. A pangram is a sentence containing every letter in the English Alphabet. Lowercase and Uppercase are considered the same. Examples:
Input : str = 'The quick brown fox jumps over the lazy dog' Output : Yes // Contains all the characters from ‘a’ to ‘z’ Input : str='The quick brown fox jumps over the dog' Output : No // Doesn’t contains all the characters from ‘a’ // to ‘z’, as ‘l’, ‘z’, ‘y’ are missing
This problem has existing solution please refer Pangram Checking link. We will solve this in Python using Set() data structure and List() comprehension. Approach is very simple,
- Convert complete sentence in lower case using lower() method of string data type in python.
- Now pass this sentence into Set(str) so that we could have list of all unique characters present in given string.
- Now separate out list of all alphabets (a-z), if length of list is 26 that means all characters are present and sentence is Pangram otherwise not.
Implementation:
Python3
# function to check pangram def pangram( input ): # convert input string into lower case input = input .lower() # convert input string into Set() so that we will # list of all unique characters present in sentence input = set ( input ) # separate out all alphabets # ord(ch) returns ascii value of character alpha = [ ch for ch in input if ord (ch) in range ( ord ( 'a' ), ord ( 'z' ) + 1 )] if len (alpha) = = 26 : return 'true' else : return 'false' # Driver program if __name__ = = "__main__" : input = 'The quick brown fox jumps over the lazy dog' print (pangram( input )) |
Output
true