gzj137070928 发表于 2020-10-30 14:40:49

凯撒密码

# 原文: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
# 密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
# 对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
# 上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
# 假设用户可能使用的输入包含大小写字母a~zA~Z、空格和特殊符号,
# 请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。

str1 = input("请输入原文:")
# print(ord('A'))# 65
# print(ord('a'))# 96
t = ""
for e in str1:
    if 'a' <= e <= 'z':
      t += chr(ord('a') + ((ord(e)-ord('a')) + 3)%26)
      # chr((ord(e)+3)%26),结果有问题,因为不是从'a'开始了
    elif 'A' <= e <= 'Z':
      t += chr(ord('A') + ((ord(e)-ord('A')) + 3)%26)
    else:
      t += e
print(t)
页: [1]
查看完整版本: 凯撒密码