📜  在Python Pangram 检查中使用 Set()

📅  最后修改于: 2022-05-13 01:54:35.690000             🧑  作者: Mango

在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() 理解来解决这个问题。方法很简单,

  1. 使用Python中字符串数据类型的lower()方法将完整的句子转换为小写。
  2. 现在将这句话传递给Set(str) ,这样我们就可以获得给定字符串中存在的所有唯一字符的列表。
  3. 现在分离出所有字母表 (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