# write by 2021/7/23
# 手机键盘密码
import re
DIC = ["", "", " abc", " def", " ghi", " jkl", " mno", " pqrs", " tuv", " wxyz"]
def encrypt_p_keyboard(string):
ciphertext = ""
string = string.replace(" ", "")
for i in string:
for j in DIC:
if i in j:
ciphertext += str(DIC.index(j)) + str(j.index(i)) + " "
break
else:
return -1
return ciphertext[:-1]
def decrypt_p_keyboard(string):
plaintext = ""
string = string.replace(" ", "")
test = re.findall("\d+", string)
if not test or test[0] != string:
return -1
ciphertext_lis = re.findall("\d{2}", string)
try:
for i in ciphertext_lis:
plaintext += DIC[int(i[0])][int(i[1])]
except:
return -1
return plaintext
if __name__ == '__main__':
ciphertext_ = encrypt_p_keyboard("keyboard")
plaintext_ = decrypt_p_keyboard(ciphertext_)
print(f"{plaintext_}: {ciphertext_}")