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