题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import sys def pdic(pkey): st1 = list(set(pkey)) #对传入的密钥pkey去重 letters = [chr(x) for x in range(97,123,1)] ##小写字母表 st2 = set(letters) - set(st1) #集合取差集,为剩余字符集 lst = sorted(list(st1),key=pkey.index) + sorted(list(st2)) #此处重要!st1是密钥列表,要按照传入pkey的字符顺序排序。st2按照正常排序即可 dic = {} for i in range(26): #构建对应密码表 dic[list(letters)[i]] = lst[i] return dic pkey = input() dic = pdic(pkey) st = input() res = [dic.get(x) for x in list(st)] #逐字符加密 print(*(res),sep='')