Другие буквы различны.
Решение
🔹 Шаг 1. Алфавит и перебор слов
from itertools import product
letters = sorted("МОРС")
words = product(letters, repeat=5)
for word in words:
print(word)
break
📌 Результат: слово представлено как кортеж букв, например ('А', 'А', 'А', 'А', 'А')
🔹 Шаг 2. Нумерация слов
from itertools import product
letters = sorted("МОРС")
words = product(letters, repeat=5)
for num, word in enumerate(words, 1):
print(num, word)
if num == 10:
break
📌 Результат: каждое слово имеет порядковый номер, нумерация начинается с 1.
🔹 Шаг 3. Проверка чётности номера
from itertools import product
letters = sorted("МОРС")
words = product(letters, repeat=5)
for num, word in enumerate(words, 1):
if num % 2 == 0:
print(num, word)
if num == 10:
break
📌 Результат: выводятся только слова с чётными номерами.
🔹 Шаг 4. Добавление условий к слову
from itertools import product
letters = sorted("МОРС")
words = product(letters, repeat=5)
for num, word in enumerate(words, 1):
text = ''.join(word)
if num % 2 == 0:
print(num, text)
📌 Результат: добавлены условия к слову: условия из условия задачи.
🔹 Шаг 5. Поиск подходящего слова
Цель: найти первое подходящее слово и вывести его номер.
# Подключаем перебор слов и сортируем "МОРС"
from itertools import product
letters = sorted("МОРС")
# создаем множество пятибуквенных слов
words = product(letters, repeat=5)
# ищем первое подходящее слово с начала списка
ans = 0
# Перебираем слова и проверяем условие
for num, word in enumerate(words, 1):
text = "".join(word)
others = [ch for ch in word if ch != "О"]
if (
word.count("О") == 2
and "ОО" not in text
and word[-1] != "О"
and len(others) == len(set(others))
):
ans = num
break
# Выводим номер — это ответ
print(ans)
📌 Результат: программа найти первое подходящее слово и вывести его номер. Ответ: 104.