Это моя задача: https://i.stack.imgur.com/qv6us.png
Я пытался извлечь каждый элемент из списка ASCII, используя z в качестве элемента списка, поэтому программа увеличивает z на единицу каждый раз, когда я идучерез цикл for.
ciphertext = []
z=0
for item in messagelist: # messagelist a list of characters
Если есть пробел, я хочу его игнорировать.
if ' ' in messagelist:
break
Затем я хочу добавить элемент в целое число: 'offsetfactor'.
else: # ascii list is a list of ascii codes/integers
y = asciilist[z] + offsetFactor # offset factor is a randomly generated integer
print (y)
Тогда, если ответ будет больше 126, я получу минус 94 и превращу ответ в символ ASCII.Затем я хочу добавить все символы ASCII в список и преобразовать список в строку.
if y > 126:
y = y - 94
asciichar = str(chr(y)) # turns y into an ascii character
ciphertext.append(asciichar) # adds the ascii character to a list called ciphertext
else:
asciichar = str(chr(y))
ciphertext.append(asciichar)
z+=1
encrypted = str(ciphertext) # turns ciphertext into a string
print ('Your encrypted message is: ',encrypted)
Похоже, это не работает, поскольку «зашифрованный» печатается в виде пустого списка.Я буду благодарен за любую помощь, так как мне потребовались годы, чтобы написать вопрос!