问:为什么最后一个字都没了,还有翻译错误是为什么
# -*- 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公理