@EgaNator
Учусь на программиста

Как в реализации шифра двойной перестановки сделать порядок столбцов и строк постоянным?

Как в данном коде сделать так, чтобы количество и порядок столбцов и строк всегда был постоянным, или чтобы количество и порядок можно было задавать с клавиатуры? Например, есть всего 4 строки в порядке (3, 1, 4, 2) и 4 столбца в порядке (4, 1, 3, 2). И чтобы, если в таблице останутся пустые ячейки, то чтобы они тоже выводились (или вставить в них какой-то специальный символ, например, "-").
Я знаю python только на базовом уровне.
Про шифр двойной перестановки хорошо описано в википедии.
Код программы:
from math import ceil
from random import shuffle
s = list('двойная перестановка')
s1 = round(len(s)**0.5)
s2 = ceil(len(s)**0.5)
a = [[s.pop(0) if s else ' ' for _ in range(s1)] for _ in range(s2)]
shuffle(a)
a = list(map(list,zip(*a)))
shuffle(a)
print(''.join([i for j in a for i in j]))
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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