curriculum/challenges/english/blocks/daily-coding-challenges-python/6821ec02237de8297eaee79a.md
Given a word or sentence and a string of lowercase letters, determine if the word or sentence uses all the letters from the given set at least once and no other letters.
is_pangram("hello", "helo") should return True
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("hello", "helo"), True)`)
}})
is_pangram("hello", "hel") should return False
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("hello", "hel"), False)`)
}})
is_pangram("hello", "helow") should return False
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("hello", "helow"), False)`)
}})
is_pangram("hello world", "helowrd") should return True
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("hello world", "helowrd"), True)`)
}})
is_pangram("Hello World!", "helowrd") should return True
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("Hello World!", "helowrd"), True)`)
}})
is_pangram("Hello World!", "heliowrd") should return False
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("Hello World!", "heliowrd"), False)`)
}})
is_pangram("freeCodeCamp", "frcdmp") should return False
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("freeCodeCamp", "frcdmp"), False)`)
}})
is_pangram("The quick brown fox jumps over the lazy dog.", "abcdefghijklmnopqrstuvwxyz") should return True
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_pangram("The quick brown fox jumps over the lazy dog.", "abcdefghijklmnopqrstuvwxyz"), True)`)
}})
def is_pangram(sentence, letters):
return sentence
import re
def is_pangram(sentence, letters):
used_letters = []
for char in sentence.lower():
if re.match(r'[a-z]', char) and char not in used_letters:
used_letters.append(char)
sorted_letters = ''.join(sorted(letters.lower()))
sorted_used_letters = ''.join(sorted(used_letters))
return sorted_letters == sorted_used_letters