编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母。
输入格式:
接收两行输入,第一行为待加密的明文,第二行为密钥k。
输出格式:
输出加密后的密文。
输入样例:
在这里给出一组输入。例如:
Hello World!
3
输出样例:
在这里给出相应的输出。例如:
Khoor Zruog!
代码:
# jmu-python-凯撒密码加密算法
# Author = YeHuai
# ord() 字母转换数字; chr() 数字转换字母
# a-z: 97-122; A-Z: 65-90
plai = input() # 明文
key = int(input()) # 密钥
ciph = '' # 密文
for i in plai:
if i.isalpha(): # isalpha() 判断是否为字母
temp = ord(i) + key # 凯撒加密
if chr(temp).isalpha():
ciph += chr(temp)
else:
ciph += chr(temp - 26)
else:
ciph += i # 复制明文非字母符号
print(ciph)
运行:
PTA验证: