为一个赋值工作一个简单的(非常简单,可笑的)加密程序,而且我似乎会遇到同样的错误,不管我以哪种方式去处理它。替换字符串中的字符在Python中
def cryptofied(text, dic):
for i, j in dic.items():
text = text.replace(i, j)
return text
编辑:现在使用 DEF cryptofied(文本,DIC): RET = “” 对于p在范围(LEN(文本)): RET + = DIC [文本[P]] 返回RET
而且
def encode(codedMsg):
print(codedMsg, ' Here was your message to be encoded.')
lock = {'A':'X', 'B':'P', 'C':'M', 'D':'G', 'E':'T', 'F':'D', 'G':'H', 'H':'L', 'I':'Y', 'J':'O', 'K':'N', 'L':'Z', 'M':'B', 'N':'W', 'O':'E', 'P':'A', 'Q':'R', 'R':'K', 'S':'J', 'T':'U', 'U':'F', 'V':'S', 'W':'C', 'X':'I', 'Y':'Q', 'Z':'V'}
codedMsgTest = cryptofied(codedMsg, lock)
print(codedMsgTest, 'here is your coded message')
然而,当我输入,例如, “坦诚” 为codedMsg,它会吐回 “GKXCC”,这显然是不正确。据我所知,问题在于它将“K”改为“N”,然后将两个“N”改为“C”。我能做些什么来消除这种情况?
编辑: 所以,现在这个代码的问题是,如果使用的字符不在我的锁中,则会返回错误。我怎样才能忽略这些角色?
欢迎来到StackOverflow!谢谢你提出的一个很好的问题 - 没有多少新用户写这个问题。很高兴有你在这里,我希望你在未来能够为这个网站贡献力量。 –