冰冰的大白兔 2020-06-28 18:11 采纳率: 66.7%
浏览 60

python逻辑错误,为什么最后一个字都没了,还有翻译错误是为什么

问:为什么最后一个字都没了,还有翻译错误是为什么

# -*- coding: UTF-8 -*-

# Filename : COC_Translate.py
# author by : 冰冰的大白兔
import re;


def Read():
    befSort = open('Translationtable.txt', mode='r',encoding='UTF-8')  #读取txt文件
    for line in befSort.readlines():  # 依次读取每行
        line = re.sub('[\W_]+','',line)  # 去掉每行头尾空白
        Sort.append(line)   #每一行读入列表成为列表元素
#    print(Sort)
    Sort.sort(key=str.lower,reverse = False) #将列表内元素按头排序
#    for sortLine in Sort:   #逐元素打印列表
#        print(sortLine)    #每一行为列表每一元素
    befSort.close() #关闭txt文件

def Write():
    writeSort = open('Translationtable.txt', mode='w',encoding='UTF-8')
    for writLine in Sort:
#        print(writLine)    #每一行为列表每一元素
        writeSort.write(writLine+'\n')
    writeSort.close()

def CutSort():
    m = re.compile("[a-zA-Z]+")
    for S in Sort:
        p = m.match(S)
        i = p.end()
        reSor.append(S[0:i])
        reSor.append(S[i:-1])
    print(reSor)

def translate():
    untrans = input("开始翻译,请输入需要翻译的字符串\n")  # 接收字符串
    untrans = re.sub('[\W_]+', '', untrans)  # 整理字符串
    i = 1  # 计数
    for i in range(len(reSor) - 1):  # 替换字符串
        untrans = re.sub(reSor[i], reSor[i + 1], untrans)
        i = i + 2
    print(untrans+'\n翻译完成')

#def menu():


if __name__ == "__main__":
    print('等待排序')
    Sort=[] #存储翻译表用的列表
    reSor = []  #翻译表切分
    Read()  #读取翻译表并排序
    Write() #复写排序后翻译表
#    menu()
    CutSort()
    print('排序完成')
    while 1>0:
        translate()

输出

等待排序
['accent', '口', 'acquisition', '习', 'affixes', '词', 'agrammatic', '语法错乱语法失', 'all', '所有', 'ambiguity', '歧', 'analogy', '类', 'and', '而', 'anomaly', '异', 'antecedent', '前', 'antonym', '反义', 'aphasia', '失语', 'argumentbyanalogy', '模拟论', 'argumentfromauthority', '根据权威论', 'argument', '论证主', 'asymmetry', '非对称', 'axiom', '公理公设设']
排序完成
开始翻译,请输入需要翻译的字符串
acquisition
公理公设设
翻译完成

问:为什么最后一个字都没了,还有翻译错误是为什么
附txt

accent口音
acquisition习得 
affixes词缀 
agrammatic语法
all所有
ambiguity歧义
analogy类推 
and而且 
anomaly异常
antecedent前件
antonym反义字
aphasia失语症 
argumentbyanalogy模拟论证
argumentfromauthority根据权威论证
argument论证主目
asymmetry非对称性
axiom公理
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-28 23:56
    关注

    你的程序排序的时候,应该把单词和翻译作为整体排序,否则对应关系就错乱了。

    评论

报告相同问题?

悬赏问题

  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了