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