Я изо всех сил пытался создать таблицу vigenere в python. Результат должен быть:
Так что в основном у меня есть весь алфавит в первой строке, а алфавит сдвинут на одну букву во второй и т. д.
Это мой код до сих пор:
class CypherTable:
def __init__(self):
self.matrix = [[chr(i) for i in range(ord('a'),ord('z')+1)] for i in range(5)]
def __str__(self):
for i in range(len(self.matrix)):
print self.matrix[i]
return ""
table = CypherTable()
print(table)
Мне удалось напечатать буквы от a до z несколько раз, но я не знаю, как изменить каждое взаимодействие, чтобы сдвинуть первую букву на единицу. Я привык работать в java, где вы сначала определяете длину массива, а затем заполняете его, но, поскольку у python более быстрый синтаксис, я не могу понять, как это сделать лучше всего.