700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python的汉语凯撒密码_python字母移位 凯撒密码

python的汉语凯撒密码_python字母移位 凯撒密码

时间:2019-11-21 19:42:25

相关推荐

python的汉语凯撒密码_python字母移位 凯撒密码

将字符串中的字符平移n位,就是凯撒密码.比如此处的后移两位,a变为c,z变为b,以此类推,只换字母其它字符不变.

#!/usr/bin/python3

str=r"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."

new_str=''

shift = 2

for i in str:

if i>='a' and i<='z': # or i>='A'and i<='Z':

i=ord(i)

i = ((i + shift)-97)%26+97

i = chr(i)

new_str=new_str+i

print(new_str)

其中**ord()**将字符转为ascii码,**chr()**将ascii码转为字符

得到的输出为:

i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url.

这里提示用string.maketrans,

#!/usr/bin/python

import string

intab='abcdefghijklmnopqrstuvwxyz'

outtab='cdefghijklmnopqrstuvwxyzab'

transtab=string.maketrans(intab,outtab) #transtab就是解密表

ciphertext=r"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."

plaintext=ciphertext.translate(transtab)

print(plaintext)

参考文档:a b

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。