# 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(), возвращается кортеж, состоящий из максимального и минимального по длине слова. Тесты проверяют правильность работы функции для различных входных данных.



#задача #автоматизация #python #pytest