Вы также должны научиться делать свой код более питоническим.
Перво-наперво: списки Python - это не массивы, это списки.Не то же самое.
Вам не нужно создавать список из вашей строки.Строки Python представляют собой последовательности символов и уже поддерживают подписку:
>>> 'hello'[4]
'o'
Но вам не нужны ни списки, ни подписки для доступа к символам вашей строки.Вы можете и должны выполнять итерации следующим образом:
for char in original:
...
Кроме того, операторы сравнения в Python могут и должны быть связаны:
if 65 <= charint <= 90:
...
Повторение продолжается.Не повторяйся:
def cipher(ch_int, offset, lowest):
return chr((ch_int - lowest + offset) % 26 + lowest)
for char in original:
charint = ord(char)
if 65 <= charint <= 90:
print cipher(charint, k, 65),
elif 97 <= charint <= 122:
print cipher(charint, k, 97),
else:
print char,