#python #python-2.7 #caesar-cipher
Вопрос:
Я новичок в python и в настоящее время читаю практическую криптографию с помощью python, в то время как я читал caesar5.py сценарий к книге мне в голову пришел вопрос, и я был бы признателен любому, кто сможет мне в этом помочь. в кодексе сказано:
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
str_in = raw_input("Enter ciphertext: ")
for shift in range(26):
n = len(str_in)
str_out = ""
for i in range(n):
c = str_in[i]
loc = alpha.find(c)
newloc = (loc shift)&
str_out = alpha[newloc]
print shift, str_out
и он печатает результаты в 26 строках, и мне было интересно, как я могу напечатать результаты в одном списке?
вместо того, чтобы печатать это, как
0 KHOOR
1 LIPPS
.
.
.
25 JGNNQ
Он просто распечатывается [KHOOR, LIPPS,...,JGNNQ]
, что-то вроде этого.
Комментарии:
1. вместо печати … просто добавьте его в список … затем распечатайте список…
2. К вашему сведению, python 2.7 устарел с 01.01.2010. Изучение книги, написанной на python 2.7, научит вас некоторому устаревшему синтаксису и может привести к некоторой путанице в будущем.
Ответ №1:
Поэтому, по сути, то, что вы хотите сделать, — это создать массив в python. По этому вопросу есть учебные пособия: https://www.w3schools.com/python/python_arrays.asp.
Я постараюсь быстро написать код:
array = []
array.append(str_out)
Затем в конце цикла for:
print(array)