在Python Pangram 检查中使用 Set()
给定一个字符串检查它是否是 Pangram。 pangram 是一个包含英文字母表中每个字母的句子。小写和大写被认为是相同的。
例子:
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
此问题已有解决方案,请参考 Pangram Checking 链接。我们将在Python中使用 Set() 数据结构和 List() 理解来解决这个问题。方法很简单,
- 使用Python中字符串数据类型的lower()方法将完整的句子转换为小写。
- 现在将这句话传递给Set(str) ,这样我们就可以获得给定字符串中存在的所有唯一字符的列表。
- 现在分离出所有字母表 (az),如果列表长度为 26,则表示所有字符都存在,句子是Pangram ,否则不存在。
# 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))
输出:
true