7.5 制作英文学习词典。编写程序制作英文学习词典,词典有3个基本功能添加、查询和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单词”,每行仅有一对中英释义。程序会根据用户的选择进入相应的功能模块,并显示相应的 *** 作提示。当添加的单词已存在时,显示“该单词已添加到字典库”;当查询的单词不存在时,显示“字典库中未找到这个单词”。用户输入其他选项时,提示“输入有误”。
#7.5制作英文学习词典 dict = {} digits = '0123456789' path = 'dict.txt' def readFile(path,arg): try : file = open (path,arg,encoding = 'GBK') except : file = open (path,'w',encoding = ' GBK') return file def readWords(): file = readFile(path,'r') while True : line = file.readline() if not line: break word = line.split(' ',2) dict[word[0]] = word[1][:-1] file.close def writeFile(word,dsp): file = readFile(path,'a') file.write('{} {}n'.format(word,dsp)) file.close def modifyFile(word,dsp): file = readFile(path,'r') line = file.readlines() flen = len(line)-1 for i in range(flen): if word in line[i]: file.close() line[i] = '{} {}n'.format(word, dsp) file = readFile(path, 'w') file.writelines(line) break file.close() def editMode(): print('*'*50) print("*"*50) while True: word = input("(按数字键退出)请输入您想添加或修改的单词:") if word in digits: print('*'*50) print('*'*50) return try: print("该单词已存在于单词库,当前解释是:{}".format(dict[word])) except: print('您添加的是一个新词') print('----------------------------------') description = input('请输入您的解释:n') try: dict[word] += ',%s'%description modifyFile(word,dict[word]) except KeyError: dict[word] = '%s'%description writeFile(word,dict[word]) print('--------------添加完成--------------------') def searchmode(): print('*'*50) print('*'*50) while True: word = input("(按数字键退出)想查的单词:") if word in digits: print('*'*50) print('*'*50) return print('----------------------------------------') try: print(dict[word]) except KeyError: print('对不起,这个单词没有收录') print('----------------------------------------') def interface(): readWords() def switch(option): funcdic = { 1: lambda: searchmode(), 2: lambda: editMode(), 3: lambda: exit } return funcdic[option]() while True: print('------------欢迎使用英汉词典---------------') print('1.查询单词n2.添加单词n3.退出n') option = int(input('请输入您的选择:')) switch(option) interface()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)