我正试图慢慢淘汰所有复杂的python.基本上,我正在寻找一些方法,在python中,取一串字符并用"x"字符将它们全部推送.
例如,输入abcdefg会给我cdefghi(如果x是2).
我的第一个版本:
>>> key = 2
>>> msg = "abcdefg"
>>> ''.join( map(lambda c: chr(ord('a') +  (ord(c) - ord('a') + key)%26), msg) )
'cdefghi'
>>> msg = "uvwxyz"
>>> ''.join( map(lambda c: chr(ord('a') +  (ord(c) - ord('a') + key)%26), msg) )
'wxyzab'
(当然,只有当msg为小写时,它才能正常工作......)
编辑:我绝对是第二个David Raznick的回答:
>>> import string
>>> alphabet = "abcdefghijklmnopqrstuvwxyz"
>>> key = 2
>>> tr = string.maketrans(alphabet, alphabet[key:] + alphabet[:key])
>>> "abcdefg".translate(tr)
'cdefghi'