Heyyyguaner 2021-06-02 10:05 采纳率: 100%
浏览 109
已采纳

python加密文件读取

  • 写回答

2条回答 默认 最新

  • 关注
    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,之后在遍历一遍,输出非零字母。然后是反序追加,在去重数组里出现过的字母就不追加,否则就追加,追加完成后变成加密数组。最后是加密,通过加密数组实现就行了。
     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力
  • ¥15 c语言题目:成绩管理系统