Сумма значений гласных букв

Напишите функцию, которая будет принимать строку (на английском языке) и возвращать сумму значений гласных букв. Каждой гласной букве соответствует какое-то число: A = 4, E = 3, I = 1, O = 0, U = 0.

Регистр букв роли не играет.

Примеры

sum_of_vowels("Let\'s test this function.") ➞ 8

sum_of_vowels("Do I get the correct output?") ➞ 10

sum_of_vowels("I love edabit!") ➞ 12

Варианты решения

def sum_of_vowels(sentence):
    v = {'a': 4, 'e': 3, 'i': 1}
    return sum(v[ch] for ch in sentence.lower() if ch in v)
def sum_of_vowels(sentence):
    txt = sentence.lower()
    return 4 * txt.count('a') + 3 * txt.count('e') + txt.count('i')
def sum_of_vowels(s):
    return sum({'a': 4, 'e': 3, 'i': 1}.get(i, 0) for i in s.lower())