Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First | Naive solution in Creative category for Pangram by bundgaard
import string
import re
class Pangram():
def __init__(self, text):
self.text = text
self.alphabet = {}
self.empti = []
for kar in "abcdefghijklmnopqrstuvwxyz":
if kar not in self.alphabet:
self.alphabet[kar] = []
text = text.lower()
self.result = re.sub('([^a-z]|\s)','',text)
# print self.result
text = self.result
# text = text.translate(None, string.whitespace)
# text = text.translate(None, string.punctuation)
for kar in text:
self.alphabet[kar].append(kar)
# print self.alphabet
def make_edge(self, kar):
if kar in self.alphabet:
self.alphabet[kar].append(kar)
def empty(self):
for key in self.alphabet:
if not self.alphabet[key]:
self.empti.append(key)
# print self.empti, len(self.empti)
if len(self.empti) < 1:
return True
return False
def check_pangram(text):
pan = Pangram(text)
return pan.empty()
if __name__ == '__main__':
# These "asserts" using only for self-checking and not necessary for auto-testing
assert check_pangram("The quick brown fox jumps over the lazy dog."), "brown fox"
assert not check_pangram("ABCDEF"), "ABC"
assert check_pangram("Bored? Craving a pub quiz fix? Why, just come to the Royal Oak!"), "Bored?"
Feb. 3, 2015