#字母向后移动两个位置
a_string="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."
print("".join([chr(ord('a')+(ord(char) - ord('a')+2) % 26) if char>='a' and char<='z' else char for char in a_string]))
#if之前为真值的操作,if后面是条件,else后面是其操作,for in 循环
for char in a_string:
if char >= 'a'and char<='z':
char =chr(ord('a')+(ord(char) - ord('a')+2) % 26) #%26目的:防止越界!!!
print(char,end='')#为了让输出在同一行
else:
print(char,end='')#为了让输出在同一行
s_string = "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."
# #练习一:
# def main():
# for char in s_string:
# if char >='a' and char <='z':
# char = chr(((ord(char)-ord('a')+2)%26)+ord('a'))
# print(char,end='')
# else:
# print(char,end="")
def jm():
t={}
for a in range(26):
t[chr(a + ord('A'))] = chr(((a + 2) % 26)+ord('A'))
t[chr(a + ord('a'))] = chr(((a + 2) % 26)+ord('a'))
t_list=[]
for s in s_string:
t_list.append(t[s]) if s.isalnum() else t_list.append(s)##真if假 else
print(t_list)
print(''.join(t_list))
if __name__ =='__main__':
jm()#//main()
python#字母向后移动两个位置,解密
于 2022-01-19 08:57:31 首次发布