Напишите функцию are_anagrams()
, которая принимает на вход две строки и возвращает True
, если они являются анаграммами, и False
в противном случае. Анаграммами называются строки, которые содержат одни и те же буквы, но в разном порядке.
Напишите также тесты с использованием pytest
, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# are_anagrams.py def are_anagrams(str1, str2): return sorted(str1) == sorted(str2) # test_are_anagrams.py import pytest from are_anagrams import are_anagrams def test_anagrams(): assert are_anagrams("listen", "silent") assert are_anagrams("triangle", "integral") assert are_anagrams("debit card", "bad credit") def test_not_anagrams(): assert not are_anagrams("hello", "world") assert not are_anagrams("python", "java") assert not are_anagrams("abc", "def") def test_empty_strings(): assert are_anagrams("", "") def test_different_lengths(): assert not are_anagrams("abc", "abcd") assert not are_anagrams("abc", "ab")
В данной задаче функция are_anagrams()
принимает на вход две строку, затем сортирует их и сравнивает между собой. Если результат True
, то строки являются анаграммами. Тесты проверяют правильность работы функции для различных входных данных.