def popular_words(text: str, words: list) -> dict: result = {} text = text.lower() for word in words: # print(text[0:len(word)+1]) result[word] = 1 if text[-(len(word)):] == word else 0 result[word] += 1 if text[0:len(word)+1] == word+" " else 0 result[word] += text.count(" "+word+" ") result[word] += text.count(word+"\n") result[word] += text.count("\n"+word+" ") return result if __name__ == '__main__': print("Example:") print(popular_words(''' When I was One I had just begun When I was Two I was nearly new ''', ['i', 'was', 'three', 'near'])) # These "asserts" are used for self-checking and not for an auto-testing assert popular_words(''' When I was One I had just begun When I was Two I was nearly new ''', ['i', 'was', 'three', 'near']) == { 'i': 4, 'was': 3, 'three': 0, 'near': 0 } print("Coding complete? Click 'Check' to earn cool rewards!")