学python时的作业,磕磕碰碰中,歪歪扭扭地写出来了,中间遇到很多问题,思路混乱
题目如下制作英文学习词典。编写程序制作英文学习词典,词典有3个基本功能:添加、查询和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单词”,每行仅有一对中英释义。程序会根据用户的选择进入相应的功能模块,并显示对应的 *** 作提示。当添加的单词已存在时,显示“该单词已添加到字典库”;当查询的单词不存在时,显示“字典库中未找到这个单词”。用户输入其他选项时,提示“输入有误”。
我的不成熟想法们将查询、添加和退出写成菜单,根据输入不同选项来调用不同函数
比如添加功能
fo = open("lab13/english.csv", "a", enCoding='utf-8') word = input("请输入添加的词组(英,中 ','号隔开):") fo.writelines(word+"\n") fo.close()
赶赶单单几行代码就输入进去了,然后又想到要先确认单词是否存在,然后再进行输入,那么就得先研究查询功能了
查询的思路是先打开文件,用for 循环依次读取文件里的内容 写入ls[]里面,然后判断读取到的内容,找到了就输出。
那么问题是我的词典是这样的一个二维数组文件
然后我想到了用两个for循环,慢慢获取,再用 for in判断查找的成功与否,
然后我定义了一个judge字符串用来判断有没有找到单词,找到了就break中断就好了,不然会重复赋值judge。如果没有,judge就是no,然后就会输出找不到这个单词
就是这样↓ …
if word2 in lsn:
print(lsn[:])
word2 = “yes”
break
但是实际上肯定还有很多简单快捷的方法,但我就是没想到…
然后写了一大堆,这个就是查询功能
def search(): # 查找 fo = open("lab13/english.csv", "r", enCoding='utf-8') word2 = input("请输入查找的单词(中或英):") ls = [] for line in fo: line = line.replace("\n", "") ls = line.split("\n") lsn = "" judge = "yes" for s in ls: lsn += "{}".format(s) if word2 in lsn: print(lsn[:]) word2 = "yes" break else: judge = "not" if judge == "not": print("找不到这个单词") fo.close()
那么查询也做好了,然后再在添加里面,事先判断是否存在再添加就好了
总结文件的读写 *** 作,看看书就写出来了,就是写的时候逻辑很乱,应付作业就算了…
因为python学得没咋上心,一周就那么学个一两个小时,就当了解了解
等我学好了再回来修改代码(误
以上是内存溢出为你收集整理的python英语查询词典-随堂作业全部内容,希望文章能够帮你解决python英语查询词典-随堂作业所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)