Kommov
@Kommov

Как решить такую задачу на python?

Как решить следующую задачу с помощью python?
Есть входные данные в виде строки:
a = 'a.bc@d'
Нужно на выходе получить все возможные комбинации из букв в верхнем и нижнем регистре. Сами буквы должны стоять на тех же местах, их может быть любое количество, и между ними могут быть цифры и прочие символы, которые должны остаться не тронутыми.

Для a = 'a.bc@d', вывод должен быть таким:

A.bc@d
a.Bc@d
a.bC@d
a.bc@D
A.Bc@d
A.bC@d
A.bc@D
a.BC@d
a.Bc@D
a.bC@D
A.BC@d
A.bC@D
a.BC@D
A.BC@D
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Для каждого символа c в строке построй список вида [c.upper(), c.lower()], если это буква. Если не буква, список должен содержать один элемент.
Построй общий список из таких списков (назовём его patterns). Для твоего примера он будет выглядеть так:
[['a', 'A'], ['.'], ['b', 'B'], ['c', 'C'], ['@'], ['d', 'D']]

А дальше вызываешь itertools.product(*patterns) и итерируешься по тому, что оно вернёт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы