2条回答 默认 最新
- CSDN专家-深度学习进阶 2021-06-02 02:06关注
s=input() zimu="abcdefghijklmnopqrstuvwxyz" zimu=zimu[::-1]#逆序 t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,] with open('encrypt.txt','r')as f: data = f.read() s1="" res="" l= len(s) for i in range(l):#去重 if(s[i]>='a' and s[i]<='z'): if t[ord(s[i])-ord('a')]==0: s1=s1+s[i] t[ord(s[i])-ord('a')]=1 else: continue #print(data[ord(data[0])-ord('a')]) for i in range(26): if t[ord(zimu[i])-ord('a')]==0: s1=s1+zimu[i] t[ord(zimu[i]) - ord('a')] =1 l= len(data) for i in range(l):#加密 if(data[i]>='a' and data[i]<='z'): res=res+s1[ord(data[i])-ord('a')] else: res = res + data[i] with open('output.txt','w')as f: f.write(res)
首先是去重操作,先选一个字母,然后把该字母后面的相同的元素全部变为0,之后在遍历一遍,输出非零字母。然后是反序追加,在去重数组里出现过的字母就不追加,否则就追加,追加完成后变成加密数组。最后是加密,通过加密数组实现就行了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报