如何检查字符串是否包含python中所有字母的字母?

Mas*_*lor 2 python string pangram

我正在尝试编写一个python程序,检查给定的字符串是否为pangram - 包含字母表中的所有字母.

因此,"We promptly judged antique ivory buckles for the next prize"应该返回True任何不包含字母表的每个字母的字符串至少一次返回False.

我相信我应该使用RegEx这个,但我不知道如何.它看起来应该类似于:

import sys
import re

input_string_array = sys.stdin.readlines()
input_string = input_string_array[0]

if (re.search('string contains every letter of the alphabet',input_string):
    return True
else:
    return False
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 12

这不是我用正则表达式解决的问题,不是.创建一组小写字符串并检查它是否是字母表字母的超集:

import string

alphabet = set(string.ascii_lowercase)

def ispangram(input_string):
    return set(input_string.lower()) >= alphabet
Run Code Online (Sandbox Code Playgroud)

只有当字母表中的每个字母都在从输入文本创建的集合中时,它才会成为超集; 通过使用超集而不是相等,除了(ASCII)字母外,还允许使用标点符号,数字和空格.

演示:

>>> import string
>>> alphabet = set(string.ascii_lowercase)
>>> input_string = 'We promptly judged antique ivory buckles for the next prize'
>>> set(input_string.lower()) >= alphabet
True
>>> set(input_string[:15].lower()) >= alphabet
False
Run Code Online (Sandbox Code Playgroud)