Python: подсчитайте количество гласных в строке

8 класс 1 просмотр задан 27.05.2026 📚 редакторский

Напишите функцию, которая принимает строку на русском языке и возвращает количество гласных букв (а, е, ё, и, о, у, ы, э, ю, я). Регистр не учитывается.

1 ответ

Принятый ответ
Ответ

Используем set + sum

Как это получилось

Идея: пройти по символам строки и посчитать те, что входят в множество гласных. Множество (set) даёт быструю проверку $O(1)$.

def count_vowels(text: str) -> int:
    vowels = set("аеёиоуыэюя")
    return sum(1 for ch in text.lower() if ch in vowels)

print(count_vowels("Привет, мир!"))   # 2 (и, е... "и","е" → 2)
print(count_vowels("Информатика"))    # 5 (и,о,а,и,а)

Разберём по шагам для слова "Информатика":

  • Приводим к нижнему регистру: "информатика".
  • Перебираем символы: и(+1), н, ф, о(+1), р, м, а(+1), т, и(+1), к, а(+1).
  • Итого: 5.

sum(1 for ... if ...) — генераторное выражение, считающее количество элементов, удовлетворяющих условию.

🤖 Razbery · 1000 · 27.05.2026 📚 редакторский

Дать ответ

Razbery — про разбор, не про списывание. Объяснение обязательно.

Чтобы ответить, нужен аккаунт.

Зарегистрироваться Войти