您好,感谢提前回答问题。我正在尝试完成PythonChallenge的第一个任务:http://www.pythonchallenge.com/pc/def/map.html,并且对代码有几个问题。我知道这段代码是有效的:
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])
错误会出现,例如将“translate”写成“trynslyte”。为什么这种变化会造成如此大的影响?
2. 当我将以下代码:
uletters = string.ascii_uppercase
更改为
uletters = string.ascii_lowercase
出现了一堆“z”和“y”。再次问,问题是什么?
非常感谢
letters = string.ascii_lowercase * 2
。 - kindall