Я довольно долго смотрю на следующий сегмент кода, но до сих пор не понимаю, почему я получаю сообщение "TypeError: неподдерживаемые типы операндов для +: 'int' и 'str'" Строка 8. Может ли кто-нибудь предложить способ исправить это? Изначально я не думал, что мне нужно будет приводить к str () или к int (), но я перепробовал почти все, что мог придумать. Может кто-нибудь помочь, пожалуйста?
L2I = dict(zip("ABCDEFGHIJKLMNOPQRSTUVWXYZ",range(26)))
I2L = dict(zip(range(26),"ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
def encrypt(text, key):
ciphertext = ''
for c in text.upper():
if c.isalpha(): ciphertext += str(I2L[ (int(L2I[c]) + key) % 26])
else: ciphertext + c
return ciphertext
def decrypt (ciphertext, key):
plaintext = ''
for c in ciphertext.upper():
if c.isalpha(): plaintext2 += str(I2L[ (int(L2I[c]) - key) % 26])
else: plaintext + c
return plaintext
message = input('Enter plaintext: ')
key = input('Enter key value (1-25): ')
print ('Plaintext was: ', message)
print (encrypt(message, key))
print (decrypt(encrypt(message, key), key))
Спасибо!