题解 | #字符串加解密#
字符串加解密
http://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
- step1:简单指令打印出'a','A','z','Z','0','9'的ASCII码备用
- step2:根据边界ASCII码构造加密解密程序
- step3:主程序&打印
- #这种方法应该可以避免掉输入中有特殊符号时产生的bug
def jiami(s):
s1_coded = ''
for i in s:
if 97 <= ord(i) <= 121:
s1_coded += chr(ord(i) + 1).upper()
elif ord(i) == 122:
s1_coded += 'A'
elif 65 <= ord(i) <= 89:
s1_coded += chr(ord(i) + 1).lower()
elif ord(i) == 90:
s1_coded += 'a'
elif 48 <= ord(i) <= 56:
s1_coded += chr(ord(i) + 1)
elif ord(i) == 57:
s1_coded += chr(48)
else:
s1_coded += i
return s1_coded
def jiemi(s):
s2_uncode = ''
for i in s:
if 98 <= ord(i) <= 122:
s2_uncode += chr(ord(i) - 1).upper()
elif ord(i) == 97:
s2_uncode += 'Z'
elif 66 <= ord(i) <= 90:
s2_uncode += chr(ord(i) - 1).lower()
elif ord(i) == 65:
s2_uncode += 'z'
elif 49 <= ord(i) <= 57:
s2_uncode += chr(ord(i) - 1)
elif ord(i) == 48:
s2_uncode += chr(57)
else:
s2_uncode += i
return s2_uncode
while True:
try:
s1_uncode = input()
s2_coded = input()
print(jiami(s1_uncode))
print(jiemi(s2_coded))
except:
break