1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python语言程序设计基础程序练习题7.5制作英文学习词典

python语言程序设计基础程序练习题7.5制作英文学习词典

时间:2019-09-30 12:09:33

相关推荐

python语言程序设计基础程序练习题7.5制作英文学习词典

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 filedef readWords():file = readFile(path,'r')while True :line = file.readline()if not line:breakword = line.split(' ',2)dict[word[0]] = word[1][:-1]file.closedef writeFile(word,dsp):file = readFile(path,'a')file.write('{} {}\n'.format(word,dsp))file.closedef modifyFile(word,dsp):file = readFile(path,'r')line = file.readlines()flen = len(line)-1for i in range(flen):if word in line[i]:file.close()line[i] = '{} {}\n'.format(word, dsp)file = readFile(path, 'w')file.writelines(line)breakfile.close()def editMode():print('*'*50)print("*"*50)while True:word = input("(按数字键退出)请输入您想添加或修改的单词:")if word in digits:print('*'*50)print('*'*50)returntry:print("该单词已存在于单词库,当前解释是:{}".format(dict[word]))except:print('您添加的是一个新词')print('----------------------------------')description = input('请输入您的解释:\n')try:dict[word] += ',%s'%descriptionmodifyFile(word,dict[word])except KeyError:dict[word] = '%s'%descriptionwriteFile(word,dict[word])print('--------------添加完成--------------------')def searchmode():print('*'*50)print('*'*50)while True:word = input("(按数字键退出)想查的单词:")if word in digits:print('*'*50)print('*'*50)returnprint('----------------------------------------')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()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。