再编写一个解密函数 实现对上述加密字符串进行解密。
编写测试程序,在测试程序中输入字符串, 并输出加密和解密后的字符串。
例如: 字符串 str1: avbV125av1, n 默认为 5 则新的字符串 str2: fagA625fa5
就拿来生啃吧,肯定有更好的解决方案的~
import re
def encrypt(str1):
list_2, list_3 = [], []
list_1 = re.findall(r'[^\W\d_]+|\d+', str1) #注释一
for i in list_1:
try:
list_2.append(5 * int(i))
except ValueError:
list_2.append(i) #注释二
for i in list_2:
list_3.append(str(i)) #这个步骤是因为字符串和整数是无法进行join()操作的,所以是整数进行字符串化的操作
list_2.clear()
str1 = ''.join(list_3)
list_3.clear() #注释三
for i in str1:
list_3.append(i)
for i in list_3:
if 65 <= ord(i) <= 90:
s = ord(i) + 5
if s <= 90:
list_2.append(chr(s))
else:
s = s - 90 + 65 - 1