练习一:
#凯撒密码练习
ptxt = input("请输入英文明文:")
for p in ptxt:
if "a" <= p <= "z":
print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end="") #(详见注释1)
elif "A" <=p <= "Z":
print(chr(ord("A")+(ord(p)-ord("A")+3)%26),end="")
else:
print(p,end="")
#注释1
# ord(p)-ord("a") 算出原文字母p和a之见的Unicode码差值,也代表,字母P是第26个字母正数第几个
# ord(p)-ord("a")+3 算出原文字母p和a之见的Unicode码差值+3=字母p对应的密码字母是26个字母钟中正数第几个
# (ord(p)-ord("a")+3)%26 加上%26,即模运算,算出密码字母在是26个字母钟中正数第几个(这步也可以省略)
#print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end=""), 挨个字母打印出来
练习二:(运算结果和练习一相等)