Привет и спасибо заранее за ответы, я пытался сделать первую задачу для PythonChallenge: http://www.pythonchallenge.com/pc/def/map.html и у меня есть comuple вопросов относительно кода. Я знаю, что этот код работает:код Цезаря - проблемы реализации в Python
import string
letters = string.ascii_lowercase
uletters = string.ascii_uppercase
text = ("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.")
for x in range(0, 26):
text = text.replace(letters[x-2], uletters[x])
print(text.lower())
Я играл с кодом немного и вот мои наблюдения, в отношении которых у меня есть вопросы: 1. Когда я бегу:
text = text.replace(letters[x], uletters[x+2])
ошибки, такие как «trynslyte» вместо «translate». Почему этот сдвиг делает такое изменение? 2. Когда я изменил: uletters = string.ascii_uppercase
к
uletters = string.ascii_lowercase
появилась куча "Z" с и "у" с. Опять же, в чем дело?
Большое спасибо
Другой подход - просто написать 'letters = string.ascii_lowercase * 2' – kindall