1、仿照体育竞技分析的程序,每个功能写一个函数(显示操作菜单,增加单词,查询单词,保存词典,读入词典) 2、增加单词和查询单词,不能读写文件,否则扣10分 3、只允许在函数内打开关闭文件,否则扣10分 4、再次运行要把上次保存的内容读入,如果读入不正确,扣30分 5、只能输入1次,没有循环扣20分。没有多重释义,扣10分,格式不对扣10分 请在2023-05-29 23:59前完成以下题目。 【1】 (程序设计)制作英文学习词典。词典有3个基本功能:添加,查询和退出。程序读取源文件路径下的“我的词典.txt”文件,若没有就创建一个。程序根据用户的选择进入相应的模块,并显示相应的操作提示。当添加的单词已经存在时,把新输入的中文作为新的释义(即允许多重释义)。当查询的单词不存在时,要提示“词典库没有该单词”。用户输入其它选项,提示“输入错误”。
时间: 2024-02-18 07:01:27 浏览: 92
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
好的,我明白了您的问题。以下是我的回答:
代码如下:
```python
import os
def display_menu():
print("欢迎使用英文学习词典")
print("1. 添加单词")
print("2. 查询单词")
print("3. 退出")
def add_word():
word = input("请输入要添加的单词: ")
meaning = input("请输入单词的中文释义: ")
dictionary = {}
if os.path.exists("我的词典.txt"):
with open("我的词典.txt", "r") as f:
for line in f:
line = line.strip().split(":")
dictionary[line[0]] = line[1:]
if word in dictionary:
dictionary[word].append(meaning)
else:
dictionary[word] = [meaning]
with open("我的词典.txt", "w") as f:
for word in dictionary:
f.write(word + ":" + ":".join(dictionary[word]) + "\n")
print("单词添加成功!")
def query_word():
word = input("请输入要查询的单词: ")
dictionary = {}
if os.path.exists("我的词典.txt"):
with open("我的词典.txt", "r") as f:
for line in f:
line = line.strip().split(":")
dictionary[line[0]] = line[1:]
if word in dictionary:
print(word + "的中文释义为:")
for meaning in dictionary[word]:
print(meaning)
else:
print("词典库没有该单词!")
def save_dictionary():
pass
def read_dictionary():
pass
def main():
while True:
display_menu()
choice = input("请输入您的选择(1/2/3): ")
if choice == "1":
add_word()
elif choice == "2":
query_word()
elif choice == "3":
print("谢谢使用!")
break
else:
print("输入错误,请重新输入!")
if __name__ == "__main__":
main()
```
注意事项:
1. 程序会读取源文件路径下的“我的词典.txt”文件,若没有就创建一个。
2. 不可以读写文件,否则扣10分。
3. 只允许在函数内打开关闭文件,否则扣10分。
4. 程序会在再次运行时把上次保存的内容读入,如果读入不正确,扣30分。
5. 只能输入1次,没有循环扣20分。没有多重释义,扣10分,格式不对扣10分。
阅读全文