python培训之凯撒密码python编程简单

发布时间:2023-02-20 11:41:36 人气:66 作者:多测师

  凯撒密码python编程简单

  1、说明

  凯撒密码是古罗马凯撒大帝为了解密军事情报而使用的算法。将信息中的每个英语文字循环替换为文字表序列中的第三个字符。有一套专门的字母表对应关系。

  2、注意

  密文是大写字母,在变换加密之前把明文字母都替换为大写字母。

  如果是加密,输出的密文是大写字母,如果是解密,按照凯撒解密后,转换为小写后,输出解密后的明文。

  3、实例

  from string import ascii_lowercase

  s=input() # 输入一个字符串s

  str1='' # 声明一个字符串str1并赋值''

  for i in s: # 遍历s,我改了下源代码,这个更方便

  if i in ascii_lowercase: # 如果i是小写字母,string.ascii_lowercase直接对应从a到z的字符串

python培训之凯撒密码python编程简单

  temp=ord(i) # 获取i对应的ascii码

  num=(temp-97+3)%26 # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c

  str1=chr(num+97) # ascii码a是从97开始的,所以上一步要-97,这一步要+97

  print(str1,end="") # 显示结果

  else:

  print(" ",end="") # 如果不是小写字母,则直接打印空白

  # 如果s的长度特别长,每次都从a-z长度的字符串里找效率不是很高,可以试试以下代码,所有功能都一样

  s=input() # 输入一个字符串s

  str1='' # 声明一个字符串str1并赋值''

  for i in s: # 遍历s,我改了下源代码,这个更方便

  temp=ord(i) # 获取i对应的ascii码

  if 97<=temp<=122 : # 如果i是小写字母, 因为字母a的ascii码就是97,z的ascii码是122

  num=(temp -94)%26 # 凯撒加密,应该是每个字母向后移动三位,a->d, b->e...x->a, y->b, z->c

  str1=chr(num+97)

  print(str1,end="") # 显示结果

  else:

  print(" ",end="") # 如果不是小写字母,则直接打印空白

  以上就是凯撒密码python编程简单的介绍,相信大家已经对凯撒密码有了初步的了解,学会后赶快动手试试吧。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线