Кодинг-марафон. Задача 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