@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]))
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 120 000 до 200 000 ₽
AGIMA Москва
от 250 000 ₽
16 мая 2022, в 08:34
1500 руб./за проект
16 мая 2022, в 08:14
3000 руб./за проект
16 мая 2022, в 07:40
3000 руб./за проект