Перебор без ошибок · тема 4 из 8

Номер слова или само слово?

Алфавитная нумерация · ЕГЭ 8

01 · Пойми идею

Одна идея — один пример

Порядок product определяется порядком символов переданного алфавита. enumerate(..., start=1) даёт номера с единицы. Условие должно явно требовать номер или слово.

from itertools import product
for i, w in enumerate(product("АБ", repeat=2), 1):
    print(i, "".join(w))

02 · Добавь следующий шаг

Теперь решаем самостоятельно

Если нужен номер первого слова, подходящего условию, печатай 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

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

    03 · Закрепи

    Перед следующей темой

    Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.

    Все темы этого курса
    1. Таблица истинности без угадывания
    2. Двоичный алгоритм шаг за шагом
    3. Слова с повторениями
    4. Номер слова или само слово?
    5. Системы счисления и цикл while
    6. Делители до квадратного корня
    7. Биты, байты и округление
    8. Сети с ipaddress

    Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.