Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Most Wanted Letter by riccardo.camera
import string
def is_a_letter(letter):
"""
Return true if lettr is an ascii letter
"""
return len(letter) == 1 and letter in string.ascii_letters
def checkio(text):
"""
Retrive the most wanted letter in text
"""
text = text.lower()
letters = {}
mwl = ''
count = 0
for letter in text:
if is_a_letter(letter):
letters[letter] = letters.get(letter, 0) + 1
if letters[letter] > count:
mwl = letter
count = letters[letter]
if letters[letter] == count and letter < mwl:
mwl = letter
return mwl
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio("Hello World!") == "l", "Hello test"
assert checkio("How do you do?") == "o", "O is most wanted"
assert checkio("One") == "e", "All letter only once."
assert checkio("Oops!") == "o", "Don't forget about lower case."
assert checkio("AAaooo!!!!") == "a", "Only letters."
assert checkio("abe") == "a", "The First."
print("Start the long test")
assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."
print("The local tests are solved.")
Jan. 25, 2018