題解 | #字符串加解密#
字符串加解密
http://www.fangfengwang8.cn/practice/2aa32b378a024755a3f251e75cbf233a
分開(kāi)處理加密和解密。 函數(shù)中一次判斷是否為數(shù)字,編碼時(shí)最后一個(gè)字母(解碼時(shí)第一個(gè)字母),大寫(xiě)字母,小寫(xiě)字母。
def enc(s):
s = list(s)
for i in range(len(s)):
if s[i].isdigit():
s[i] = str((int(s[i]) + 1) % 10)
elif s[i] == 'Z':
s[i] = 'a'
elif s[i] == 'z':
s[i] = 'A'
elif s[i].isupper():
s[i] = chr(ord(s[i]) + 1 + 32)
elif s[i].islower():
s[i] = chr(ord(s[i]) + 1 - 32)
return ''.join(s)
def dec(s):
s = list(s)
for i in range(len(s)):
if s[i].isdigit():
s[i] = str((int(s[i]) - 1) % 10)
elif s[i] == 'a':
s[i] = 'Z'
elif s[i] == 'A':
s[i] = 'z'
elif s[i].isupper():
s[i] = chr(ord(s[i]) - 1 + 32)
elif s[i].islower():
s[i] = chr(ord(s[i]) - 1 - 32)
return ''.join(s)
while True:
try:
s1, s2 = input(), input()
d1 = enc(s1)
e2 = dec(s2)
print(d1)
print(e2)
except:
break