Вопрос задан 24.09.2023 в 19:15. Предмет Информатика. Спрашивает Корс Кристина.

Задание: Напишите программу на Python, которая запрашивает у пользователя две СТРОКИ И Проверяет,

являются ли они анаграммами (то есть состоят ли они из одних и тех же букв в разном порядке). Если строки являются анаграммами, то программа должна вывести на экран "Yes", в противном случае - "No". При этом нельзя использовать циклы и сортировку. Подсказка: можно использовать словарь, чтобы подсчитать количество каждой буквы в обеих строках, а затем сравнить значения словарей. Если они равны, то строки являются анаграммами.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сионихина Вика.

from collections import Counter

string1 = input("Введите первую строку: ")

string2 = input("Введите вторую строку: ")

if Counter(string1) == Counter(string2):

   print("Yes")

else:

   print("No")

0 0
Отвечает Леонардыч Евгений.

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")

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вы можете написать программу на Python, которая проверяет, являются ли две строки анаграммами, используя словарь для подсчета количества каждой буквы в обеих строках. Вот пример такой программы:

python
def 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)

Этот код сначала удаляет пробелы и преобразует строки в нижний регистр для учета регистра букв. Затем он создает словари, чтобы подсчитать количество каждой буквы в обеих строках, и сравнивает эти словари, чтобы определить, являются ли строки анаграммами.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос