我试图在不知道凯撒密码密钥的情况下,从用户那里解密文本。
我可能大部分都理解,但我不明白为什么他们在第8行使用mod 26。
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z']
print('write the message you want to decode?')
inputString = input()
inputString = inputString.lower()
transAlphabet = {}
def createDict(shift):
for i in range(0,26):
letter = alphabet[i]
transAlphabet[letter]=alphabet[(i+shift)%26]
def encodeMessage(message):
cypherText = ''
for letter in message:
if letter in transAlphabet:
cypherText = cypherText + transAlphabet[letter]
else:
cypherText = cypherText + letter
print(cypherText)
for i in range(0,26):
createDict(i)
encodeMessage(inputString)
[如果有人帮助我谢谢您,将非常有帮助!
我试图在不知道凯撒密码密钥的情况下,从用户那里解密文本。我可能大部分都理解,但是我不明白为什么他们在第8行使用mod 26字母表= ['a','b','c','d','e',...
%26
的模是使字母变成圆形,当您在z
处时返回a