题目描述
1、对输入的字符串进行加解密,并输出。
2、加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。
本题含有多组样例输入。
输入描述:
输入说明
输入一串要加密的密码
输入一串加过密的密码
输出描述:
输出说明
输出加密后的字符
输出解密后的字符
示例1
输入
abcdefg
BCDEFGH
输出
BCDEFGH
abcdefg
实现
def next_letter(letter):
if letter == 'Z' or letter == 'z':
return 'a'
return chr(ord(letter) + 1).lower()
def previous_letter(letter):
if letter == 'A' or letter == 'a':
return 'z'
return chr(ord(letter) - 1).lower()
加密
def encrypt():
encrypt_letter = ''
for i in need_encrypt:
if i.isalpha():
ii = next_letter(i)
if i.upper() == i:
encrypt_letter += ii
else:
encrypt_letter += ii.upper()
elif i.isdigit():
if i == '9':
encrypt_letter += '0'
else:
encrypt_letter += str(int(i)+1)
else:
encrypt_letter += i
print(encrypt_letter)
解密
def decode():
decode_letter = ''
for i in need_decode:
if i.isalpha():
ii = previous_letter(i)
if i.upper() == i:
decode_letter += ii
else:
decode_letter += ii.upper()
elif i.isdigit():
if i == '0':
decode_letter += '9'
else:
decode_letter += str(int(i)-1)
else:
decode_letter += i
print(decode_letter)
while 1:
try:
need_encrypt = input()
need_decode = input()
encrypt()
decode()
except:
break
版权归原作者 看,月亮在跳舞 所有, 如有侵权,请联系我们删除。