Перебор без ошибок · тема 4 из 8
Номер слова или само слово?
Алфавитная нумерация · ЕГЭ 8
Одна идея — один пример
Порядок product определяется порядком символов переданного алфавита. enumerate(..., start=1) даёт номера с единицы. Условие должно явно требовать номер или слово.
from itertools import product
for i, w in enumerate(product("АБ", repeat=2), 1):
print(i, "".join(w))
Теперь решаем самостоятельно
Если нужен номер первого слова, подходящего условию, печатай i и останавливай цикл. Если нужно слово — join(w).
Вводится слово длины от 1 до 5 из А, Б, В. Все слова той же длины упорядочены по алфавиту АБВ и пронумерованы с 1. Выведи номер введённого слова.
Пример входных данных и результата
Ввод:
БА
Вывод:
4
Черновик и файл программы
Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.
Результаты проверки
Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.
Нужна подсказка?
Сравнивай "".join(w) с s. Длина слов равна len(s).
На чём легко ошибиться
Нумерация с 0 даст ответ на единицу меньше.
Разобрать один из способов решения
Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.
from itertools import product
s = input()
for i, w in enumerate(product("АБВ", repeat=len(s)), 1):
if "".join(w) == s:
print(i)
breakТесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.
Перед следующей темой
Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.
Все темы этого курса
Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.