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 lukasz.bogaczynski
def checkio(text):
most_present_character = []
character_in_sentence_occurrence_count = {}
for character in text:
if not character.isalpha():
continue
lower = character.lower()
if lower in character_in_sentence_occurrence_count:
character_in_sentence_occurrence_count[lower] = \
character_in_sentence_occurrence_count[lower] + 1
else:
character_in_sentence_occurrence_count[lower] = 1
if len(most_present_character) < 2:
most_present_character.append(lower)
most_present_character.append(1)
elif character_in_sentence_occurrence_count[lower] > most_present_character[1]:
most_present_character[0] = lower
most_present_character[1] = character_in_sentence_occurrence_count[lower]
elif character_in_sentence_occurrence_count[lower] == most_present_character[1]:
if lower < most_present_character[0]:
most_present_character[0] = lower
most_present_character[1] = character_in_sentence_occurrence_count[lower]
return most_present_character[0]
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.")
Nov. 16, 2017