Напишите функцию count_words(), которая принимает на вход строку, представляющую предложение, и возвращает количество слов в этом предложении. Предполагается, что слова разделены пробелами.
Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# count_words.py
def count_words(sentence):
return len(sentence.split())
# test_count_words.py
import pytest
from count_words import count_words
def test_regular_sentence():
assert count_words("This is a test sentence.") == 5
assert count_words("Python programming is fun!") == 4
def test_empty_sentence():
assert count_words("") == 0
def test_sentence_with_whitespace():
assert count_words(" ") == 0
assert count_words(" Word spacing test ") == 3
def test_sentence_with_numbers():
assert count_words("There are 123 numbers.") == 4
assert count_words("This sentence has 7 words.") == 5
В данном примере функция count_words() принимает на вход строку и преобразует ее в список, разбивая по пробелам. Далее она выводим число элементов данного списка, то есть число слов во входной строке. Тесты проверяют правильность работы функции для различных входных данных.