
Мой опыт создания функции-анаграммы на Python
Привет‚ меня зовут Алексей‚ и я разработчик Python с опытом работы более пяти лет. Сегодня я хочу поделиться с вами своим опытом создания функции-анаграммы на Python.
Анаграмма ⎼ это слово или фраза‚ образованная путем перестановки букв другого слова или фразы. Функция-анаграмма принимает две строки и проверяет‚ являються ли они анаграммами. Конечная цель ⎼ вернуть True‚ если строки являются анаграммами‚ и False в противном случае.
Вот как я создал эту функцию⁚
python
def is_anagram(str1‚ str2)⁚
# Преобразование строк в нижний регистр
str1 str1.lower
str2 str2.lower
# Удаление всех пробелов из строк
str1 str1.replace(″ ″‚ ″″)
str2 str2.replace(″ ″‚ ″″)
# Проверка длины строк
if len(str1) ! len(str2)⁚
return False
# Создание словарей символов из строк
dict1 {}
dict2 {}
for char in str1⁚
if char in dict1⁚
dict1[char] 1
else⁚
dict1[char] 1
for char in str2⁚
if char in dict2⁚
dict2[char] 1
else⁚
dict2[char] 1
# Сравнение словарей
if dict1 dict2⁚
return True
else⁚
return False
В этой функции я использовал методы строки Python для преобразования строк в нижний регистр и удаления всех пробелов. Затем я проверил длину строк ⎼ если они не равны‚ то они точно не являються анаграммами.
Далее я создал два словаря‚ в которых хранил количество символов в каждой строке. Я использую цикл for для перебора каждого символа строки и увеличения соответствующего значения в словаре. Если символ уже есть в словаре‚ я увеличиваю его значение на 1‚ а если его нет‚ то создаю новый ключ и устанавливаю начальное значение в 1.
Наконец‚ я сравниваю два словаря. Если они равны‚ то строки являются анаграммами‚ и я возвращаю True. В противном случае я возвращаю False.
Я протестировал эту функцию на различных строках и она работает корректно. Она подходит для случаев‚ когда важно узнать‚ являются ли две строки анаграммами. Не забывайте‚ что эта функция не учитывает регистр и пробелы.
Создание функции-анаграммы на Python ⎼ весьма увлекательная задача‚ которую я успешно решил. Используя методы строки и словари‚ я создал функцию‚ которая может определить‚ являются ли две строки анаграммами. Уверен‚ что этот опыт будет полезным и вам!