Answer to Question #196639 in Python for FORTUNE AIDOO

Question #196639

CONTINUATION 2

  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 

Print each string in the list and whether or not it has any duplicates based on the return value of has_duplicates for that string. For example, the output for "aaa" and "abc" would be the following. 

aaa has duplicates

abc has no duplicates

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


1
Expert's answer
2021-05-24T07:42:03-0400
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_duplicates(s):
    # Return False if each letter in s is not distinct
    return len(histogram(s)) != len(s)

def missing_letters(s):
    h = histogram(s)
    rv = ''
    # Loop over letters in alphabet, if the letter is not in the histogram then
    # append to the return string.
    for c in alphabet:
        if c not in h:
            rv = rv + c
    return rv

# Loop over test strings as required.
for s in test_miss:
    miss = missing_letters(s)
    if miss:
        print(f"{s} is missing letters {miss}.")
    else:
        print(f"{s} uses all the letters.")

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS