Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python. Помогите, пожалуйста!!!

nmkjewenmsd sbnkdsielsd Ученик (98), на голосовании 10 месяцев назад
1. Заданы две строки. Определить, являются ли они ананраммами, т.е. одна строка получена из другой перестановкой букв. Например: строк и "БУК" и "КУБ" или "СОЛЬ" и "ЛОСЬ" являются анаграммами

2. Напишите программу, которая определяет, является ли введённое слово (без пробелов) палиндромом, т. е. верно ли, что оно читается одинаково слева направо и справа налево
Голосование за лучший ответ
Reduct0r Мастер (1556) 11 месяцев назад
1. Вы можете использовать функцию collections.Counter чтобы создать словари с количеством вхождений каждого символа в каждой строке. Затем сравните полученные словари, чтобы определить, являются ли строки анаграммами.

Вот пример кода:

from collections import Counter

def is_anagram(str1, str2):
# Создаем словари с количеством вхождений каждого символа для каждой строки
str1_dict = Counter(str1)
str2_dict = Counter(str2)

# Сравниваем словари
if str1_dict == str2_dict:
return True
else:
return False

# Пример использования:
string1 = "БУК"
string2 = "КУБ"

if is_anagram(string1, string2):
print("Строки являются анаграммами")
else:
print("Строки не являются анаграммами")


2. Чтобы определить, является ли введенное слово палиндромом, вы можете сравнить его с перевернутой версией самого себя. Если они равны, то слово является палиндромом.

Вот пример кода:

def is_palindrome(word):
# Переворачиваем слово и сравниваем со словом
if word == word[::-1]:
return True
else:
return False

# Пример использования:
word = input("Введите слово: ")

if is_palindrome(word):
print("Слово является палиндромом")
else:
print("Слово не является палиндромом")
Похожие вопросы