实验目的:
通过该实验,使学生掌握函数、类、文件存储的使用方式,能够熟练运用列表、字典、文件来进行数据存储处理,并掌握格式化输出的相关方法。
实验要求:
1、建立初始化的英文单词字典内容,每个单词要有对应的中文解释。如:make: 使得;布置;准备;整理;制造(等)。
2、实现字典的增加(可以通过程序实现单词及中文解释添加)、删除(通过程序实现单词的删除)、查找(通过程序实现单词的查找,要有单词联想功能,比如用户只输入了“simpl”,要能够返回“simple”及“simply”两个单词的内容(如果字典里有的话))、修改(通过程序实现单词内容和解释的修改)四个功能。
3、可以使用json、txt、数据库或其他文件格式来进行存取字典内容。
4、单词及单词解释显示要规范。
实验思路
1.txt文件存储字典,输出该txt文件存储的字典内容
2.对txt文件进行增删改查
3.字典的增加单词功能:用户输入想要添加的单词以及其解释,然后添加到txt文件中。
4.字典的删除单词功能:用户输入想要删除的单词word,然后遍历txt文件的每行,对每行进行‘:’分解(v = line.strip().split(':')),如果v[0]==word,该行不写入txt文件中,其他按原样行写入该txt文件中。
5.字典的修改单词功能:用户输入想要修改的单词word1,以及修改后的word2,value2。然后遍历txt文件的每行,对每行进行‘:’分解(v = line.strip().split(':')),如果v[0]==word1,fw.write(word2 + ':' + value2 + '\n')写入txt文件中,其他行按原样写入该txt文件中。
6.字典的查找联想单词功能:用户输入想要查找的单词word,然后遍历txt文件的每行,对每行进行‘:’分解(v = line.strip().split(':')),如果word in v[0],输出v[0]+":"+v[1]。
实验代码
#输出该txt文件的内容
def read_dict():
fr = open('dic.txt', 'r')
dic = {}
keys = [] # 用来存储读取的顺序
for line in fr:
v = line.strip().split(':')
dic[v[0]] = v[1]
keys.append(v[0])
fr.close()
print("该txt文件的字典内容为:")
for i in dic:
print(i+":"+dic[i])
print("")
#在字典中增加单词word以及其解释value
def add(word,value):
fw = open('dic.txt', 'a')
fw.write(word + ':' + value + '\n')
fw.close()
read_dict()
#在字典中删除单词word
def delete(word):
with open('dic.txt', 'r') as fr:
lines=fr.readlines()
with open('dic.txt', 'w') as fw:
for line in lines:
v = line.strip().split(':')
if word == v[0]:
continue
fw.write(line)
fr.close()
fw.close()
read_dict()
#实现对单词word1的单词内容修改为word2以及其解释修改为value2
def alter(word1,word2,value2):
with open('dic.txt', 'r') as fr:
lines=fr.readlines()
with open('dic.txt', 'w') as fw:
for line in lines:
v = line.strip().split(':')
if word1 == v[0]:
fw.write(word2 + ':' + value2 + '\n')
else:
fw.write(line)
fr.close()
fw.close()
read_dict()
#查找联想单词word的解释
def search(word):
fr = open('dic.txt', 'r')
for line in fr:
v = line.strip().split(':')
if word in v[0]:
print(v[0]+":"+v[1])
fr.close()
def main():
read_dict()
print("对该字典进行增加操作,请输入您想增加的单词以及其解释")
wrd=input()
val=input()
add(wrd,val)
print("对该字典进行删除操作,请输入您想删除的单词")
wrd = input()
delete(wrd)
print("对该字典进行修改操作,请输入您想修改的单词,以及修改后的单词内容以及其解释")
wrd1 = input()
wrd2= input()
val2= input()
alter(wrd1,wrd2,val2)
print("对该字典进行查找操作,请输入您想查找的单词")
wrd=input()
search(wrd)
main()
实验结果
最初始txt文件存储的字典内容:
(1)进行增加单词操作
(2)进行删除单词操作
(3)进行修改单词操作
(4)进行查找单词操作