我理解這段代碼是如何工作的蟒蛇2轉移字符,直到通過2.探索蟒蛇挑戰部分2
import string
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`."
table = string.maketrans(string.ascii_lowercase,string.ascii_lowercase[2:]+string.ascii_lowercase[:2])
print text.translate(table)
現在我明白了在Python 3的該字符串改爲str
,bytes
,bytesarray
我有解決它,但用一種看起來很長的方式,簡單的maketrans
沒有引用。
該代碼將如何轉換爲python 3.試圖保留maketrans
方法或不將您的預渲染表像'abcde'放到'cdefg'。
但是,如果沒有自己創建一個,python 3會如何實現。 或只是將字符向上移動2的最簡單的方法。(或者如果重新/按位可以做到這一點)
我真的很喜歡這個,我會採取任何輸入,你可以給,我會澄清如果我不清楚。
我的Python 3代碼:
def decypher(cypher):
dec=""
for letter in cypher:
if ord(letter)>=97 and ord(letter)<=122:
dec+=chr((ord(letter)+2-97)%26+97)
else:
dec+=letter
return dec
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."
print(decypher(text))
「我已經解決了它,但有一種似乎更長的方式」 - >你也應該發佈這個,所以可以指出具體的錯誤或問題。 – Carpetsmoker
你應該[編輯]問題並把它放在那裏。確保將其格式化爲代碼,方法是選擇它並按工具欄上的按鈕或按下Control + K。 – Carpetsmoker
對不起,這個評論事情失控了我x)謝謝。但你看我必須做一個整體循環,只是爲了做同樣的簡單maketrans做。 – TeachMeEverything