← Все вопросы

Как посчитать количество гласных в слове?

Задан 7 месяцев назад404 просмотров3 ответа
11

Задачка: дано слово, посчитать сколько в нём гласных. Сделал через кучу if, выглядит ужасно. Есть способ покрасивее?

3 ответа

16
✓ Принятый ответ — помог автору

Проверяй вхождение в строку гласных:

word = 'программирование'
vowels = 'аеёиоуыэюя'
count = sum(1 for ch in word.lower() if ch in vowels)
print(count)

ch in vowels заменяет десяток if. sum(1 for ...) считает подходящие символы.

Рустам Закиров sum(1 for ...) — красиво, забираю · 6 месяцев назад
7

Через регулярки: import re; len(re.findall('[аеёиоуыэюя]', word.lower())). Тоже компактно.

5

Альтернатива без генератора: count = sum(word.lower().count(v) for v in 'аеёиоуыэюя').

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект