Количество гласных в строке

Кодинг-марафон. Задача 1.

Условие: Необходимо написать функцию, которая принимает строку и возвращает кол-во гласных внутри неё. Входная строка для примера «Pseudopseudohypoparathyroidism’

Примечание: Гласными в английском являются (a, e, i, o, u)

Мы приведем несколько вариантв решения задачи:

""" Используем list comprehension. Короткий и красивый способ
def count_vowels(txt):
  return sum([1 for x in txt.lower() if x in 'aeiou'])
""" стандартный способ через цикл"""
def countVowels(string):
   vowels = ['a','e','i','o','u']
   total = 0
   for s in string:
      if s in vowels:
         total += 1
   return total
""" через lambda функцию """ 
count_vowels=lambda x:sum(map(x.count,'aeiou'))

Вариант решения от нашего подписчика:

def count_vowels(txt):
	return len([letter for letter in txt if letter.lower() in 'aeiou'])

Задача 2 будет у нас на канале Pythonist