Answer to Question #283506 in Python for kika

Question #283506

Write a function called has_duplicates that takes a string parameter and returns True if the string has any repeated characters. Otherwise, it should return False.  

Implement has_duplicates by creating a histogram using the histogram function above. Do not use any of the implementations of has_duplicates that are given in your textbook. Instead, your implementation should use the counts in the histogram to decide if there are any duplicates. 

Write a loop over the strings in the provided test_dups list. 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-12-30T01:37:01-0500
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