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 KWisniewski
from collections import OrderedDict
def checkio(text):
text=str.lower(text)
counter = {}
for c in text:
if not c.isalpha():
continue
if not c in counter:
counter[c] = 0
counter[c] += 1
result = sorted(counter.items(), key=lambda t: t[1], reverse=True)
max = result[0][1]
letter = result[0][0]
for iteritem in result:
if iteritem[1] < max:
break
if iteritem[0].lower() < letter:
letter = iteritem[0]
return letter
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 done.")
Dec. 22, 2015