Я пытаюсь создать простой код шифрования/дешифрования в Python, как это (может быть, вы можете увидеть, что я иду):Строка для целочисленного неявного изменения, если не требуется?
def encrypt():
import random
input1 = input('Write Text: ')
input1 = input1.lower()
key = random.randint(10,73)
output = []
for character in input1:
number = ord(character) - 96
number = number + key
output.append(number)
output.insert(0,key)
print (''.join(map(str, output)))
def decrypt():
text = input ('What to decrypt?')
key = int(text[0:2])
text = text[2:]
n=2
text = text
text = [text[i:i+n] for i in range(0, len(text), n)]
text = map(int,text)
text = [x - key for x in text]
text = ''.join(map(str,text))
text = int(text)
print (text)
for character in str(text):
output = []
character = int((character+96))
number = str(chr(character))
output.append(number)
print (''.join(map(str, output)))
Когда я бегу дешифратор с выходом из выходного шифрования , Я получаю «TypeError: Невозможно преобразовать объект« int »в str неявно».
Как вы можете видеть, я добавил некоторые сокращения, чтобы помочь исправить ситуацию, но ничего не работает. Я запускал его с помощью другого кода (не могу вспомнить, что), но все, что осталось, было чем-то вроде «generatorobject at.».
Я действительно потерян, и я мог бы использовать некоторых парней-указателей, пожалуйста и спасибо.
EDIT: Проблема возникает на линии 27.
EDIT 2: Заменено "символ = INT ((символ +, 96))" с "символа = INT (символ) +96", теперь проблема заключается в том, что он только печатает (и, как я могу только предположить), только добавляет последнюю букву расшифрованного сообщения.
EDIT 2 SOLVED: output = [] был в цикле for, тем самым каждый раз перезагружая его. Проблема решена, спасибо всем!
Полный отслеживающий, пожалуйста. – user2357112
'text = text' - зачем вам это делать? – user2357112
Ах, да, это была другая мысль, чтобы решить проблему, которая никогда не заканчивалась. – fjorn1