Напишите функцию count_vowels(), которая принимает на вход строку, состоящую из латинских букв, и возвращает количество гласных букв (а именно буквы A, E, I, O, U, a, e, i, o, u) в этой строке.
Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# count_vowels.py
def count_vowels(input_string):
vowels = "AEIOUaeiou"
return sum(1 for char in input_string if char in vowels)
# test_count_vowels.py
import pytest
from count_vowels import count_vowels
def test_regular_string():
assert count_vowels("hello") == 2
assert count_vowels("python") == 1
def test_empty_string():
assert count_vowels("") == 0
def test_string_with_no_vowels():
assert count_vowels("xyz") == 0
assert count_vowels("bcdfghjklmnpqrstvwxyz") == 0
def test_string_with_all_vowels():
assert count_vowels("AEIOUaeiou") == 10
def test_mixed_string():
assert count_vowels("Hello World") == 3
assert count_vowels("Programming is fun!") == 6
В данном примере функция count_vowels() принимает на вход строку, состоящую из латинских букв и возвращает количество гласных букв в данной строке. Подсчет гласных осуществляется посредством проверки вхождения каждого символа в строку, в которой есть только все гласные буквы. Тесты проверяют правильность работы функции для различных входных данных.