• Function max() working incorrectly

Question related to mission Worth of Words

 

Hello.

VALUES = {'e': 1,  'a': 1, 'i': 1, 'o': 1, 'n': 1, 'r': 1,
          't': 1,  'l': 1, 's': 1, 'u': 1, 'd': 2, 'g': 2,
          'b': 3,  'c': 3, 'm': 3, 'p': 3, 'f': 4, 'h': 4,
          'v': 4,  'w': 4, 'y': 4, 'k': 5, 'j': 8, 'x': 8,
          'q': 10, 'z': 10}

def worth_of_words(words):
    value_word = {}
    for word in words:
        counter = 0
        for i in word:
            if i in VALUES:
                counter += VALUES[i]
        value_word[word] = counter
    return max(value_word)

if __name__ == '__main__':
    print("Example:")
    print(worth_of_words(['hi', 'quiz', 'bomb', 'president']))

    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert worth_of_words(['hi', 'quiz', 'bomb', 'president']) == 'quiz'
    assert worth_of_words(['zero', 'one', 'two', 'three', 'four', 'five']) == 'zero'
    print("Coding complete? Click 'Check' to earn cool rewards!")

When solution going extra test 1 for assert (["i","am","happy","to","learn","python"]), function return word "to" without "happy". I try next variants:

(max(value_words, key=lambda x: x[1]))

and

sorted(value_words.items(), key=lambda kv: kv[1])

but error stay same.