(程序设计)制作英文学习词典。词典有3个基本功能:添加,查询和退出。程序读取源文件路径下的“我的词典.txt”文件,若没有就创建一个。程序根据用户的选择进入相应的模块,并显示相应的操作提示。当添加的单词已经存在时,把新输入的中文作为新的释义(即允许多重释义)。当查询的单词不存在时,要提示“词典库没有该单词”。用户输入其它选项,提示“输入错误”。
时间: 2023-11-22 12:52:35 浏览: 265
以下是一个可能的实现,使用Python语言编写:
```python
import os
def load_dict():
"""
读取词典文件,并返回一个字典
"""
dict_path = "我的词典.txt"
if not os.path.exists(dict_path):
# 如果文件不存在,创建一个空文件
with open(dict_path, "w", encoding="utf-8") as f:
pass
with open(dict_path, "r", encoding="utf-8") as f:
lines = f.readlines()
# 将每一行分别解析成单词和释义列表,存入字典中
word_dict = {}
for line in lines:
parts = line.strip().split("\t")
word = parts[0]
meanings = parts[1:]
word_dict[word] = meanings
return word_dict
def save_dict(word_dict):
"""
将字典保存到词典文件中
"""
dict_path = "我的词典.txt"
with open(dict_path, "w", encoding="utf-8") as f:
for word, meanings in word_dict.items():
f.write(word + "\t" + "\t".join(meanings) + "\n")
def add_word(word_dict):
"""
添加新单词及其释义
"""
word = input("请输入要添加的单词:")
if word in word_dict:
# 如果单词已经存在,将新的释义加入到列表中
meanings = word_dict[word]
new_meaning = input("该单词已经存在,请输入新的释义:")
meanings.append(new_meaning)
else:
# 如果单词不存在,创建一个新的列表存储释义
meanings = [input("请输入该单词的释义:")]
word_dict[word] = meanings
print("单词添加成功!")
def query_word(word_dict):
"""
查询单词及其释义
"""
word = input("请输入要查询的单词:")
if word in word_dict:
meanings = word_dict[word]
print(word + "的释义:")
for i, meaning in enumerate(meanings):
print(str(i+1) + ". " + meaning)
else:
print("词典库没有该单词!")
def main():
word_dict = load_dict()
while True:
print("请选择操作:")
print("1. 添加单词")
print("2. 查询单词")
print("3. 退出程序")
choice = input()
if choice == "1":
add_word(word_dict)
elif choice == "2":
query_word(word_dict)
elif choice == "3":
save_dict(word_dict)
print("程序已退出。")
break
else:
print("输入错误,请重新输入。")
if __name__ == "__main__":
main()
```
使用时,可以直接运行该脚本。程序会读取“我的词典.txt”文件,然后进入一个循环,不断询问用户要进行的操作,直到用户选择退出。在添加单词时,如果单词已经存在,程序会提示用户输入新的释义;否则,程序会要求用户输入该单词的释义。在查询单词时,如果单词不存在,程序会提示“词典库没有该单词”。在退出程序时,程序会将修改后的词典保存到“我的词典.txt”文件中。
阅读全文