Question #197993

CONTINUATION..

For example, for the string "aaa", the output should be the following. 

aaa is missing letters bcdefghijklmnopqrstuvwxyz 

If the string has all the letters in alphabet, the output should say it uses all the letters. For example, the output for the string alphabet itself would be the following. 

abcdefghijklmnopqrstuvwxyz uses all the letters 

Print a line like one of the above for each of the strings in test_miss. 

Submit your Python program. It should include the following. 

  • The provided code for alphabet, test_dups, test_miss, and histogram. 
  • Your implementation of the has_duplicates function. 
  • A loop that outputs duplicate information for each string in test_dups. 
  • Your implementation of the missing_letters function. 
  • A loop that outputs missing letters for each string in test_miss. 

Expert's answer

alphabet = "abcdefghijklmnopqrstuvwxyz"
test_dups = ["zzz", "dog", "bookkeeper", "subdermatoglyphic", "subdermatoglyphics"]

test_miss = ["zzz", "subdermatoglyphic", "the quick brown fox jumps over the lazy dog."]


def histogram(s):
    d = dict()
    for c in s:
        if c not in d:
            d[c] = 1
        else:
            d[c] += 1
    return d


def has_duplicate(d: dict):
    for key in d:
        if d[key] > 1:
            return False
    return True


def missing_letters(s: str):
    missed = list(set(alphabet) - set(histogram(s).keys()))
    missed.sort()
    missstr = ''.join(missed)
    return missstr if len(missed) != 0 else alphabet


for word in test_dups:
    print(word, 'has duplicate:', has_duplicate(histogram(word)))
for word in test_miss:
    miss = missing_letters(word)
    if miss != alphabet:
        print(word, 'is missing letters', miss)
    else:
        print(word, 'uses all the letters')
LATEST TUTORIALS
APPROVED BY CLIENTS