
Задание: Напишите программу на Python, которая запрашивает у пользователя две СТРОКИ И Проверяет,
являются ли они анаграммами (то есть состоят ли они из одних и тех же букв в разном порядке). Если строки являются анаграммами, то программа должна вывести на экран "Yes", в противном случае - "No". При этом нельзя использовать циклы и сортировку. Подсказка: можно использовать словарь, чтобы подсчитать количество каждой буквы в обеих строках, а затем сравнить значения словарей. Если они равны, то строки являются анаграммами.

Ответы на вопрос

from collections import Counter
string1 = input("Введите первую строку: ")
string2 = input("Введите вторую строку: ")
if Counter(string1) == Counter(string2):
print("Yes")
else:
print("No")



s1 = input("Введите первую строку: ")
s2 = input("Введите вторую строку: ")
if len(s1) != len(s2):
print("No")
else:
d1 = {}
d2 = {}
for i in range(len(s1)):
if s1i in d1:
d1s1[i] += 1
else:
d1s1[i] = 1
if s2i in d2:
d2s2[i] += 1
else:
d2s2[i] = 1
if d1 == d2:
print("Yes")
else:
print("No")



Вы можете написать программу на Python, которая проверяет, являются ли две строки анаграммами, используя словарь для подсчета количества каждой буквы в обеих строках. Вот пример такой программы:
pythondef are_anagrams(str1, str2):
# Удаляем пробелы и переводим строки в нижний регистр для учета регистра букв
str1 = str1.replace(" ", "").lower()
str2 = str2.replace(" ", "").lower()
# Проверяем, имеют ли строки одинаковую длину
if len(str1) != len(str2):
return "No"
# Создаем словари для подсчета количества букв в каждой строке
count1 = {}
count2 = {}
# Заполняем словарь для первой строки
for char in str1:
if char in count1:
count1[char] += 1
else:
count1[char] = 1
# Заполняем словарь для второй строки
for char in str2:
if char in count2:
count2[char] += 1
else:
count2[char] = 1
# Сравниваем словари
if count1 == count2:
return "Yes"
else:
return "No"
# Запрашиваем у пользователя две строки
input_str1 = input("Введите первую строку: ")
input_str2 = input("Введите вторую строку: ")
# Проверяем, являются ли строки анаграммами
result = are_anagrams(input_str1, input_str2)
# Выводим результат
print(result)
Этот код сначала удаляет пробелы и преобразует строки в нижний регистр для учета регистра букв. Затем он создает словари, чтобы подсчитать количество каждой буквы в обеих строках, и сравнивает эти словари, чтобы определить, являются ли строки анаграммами.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili