写个代码:Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词,可乱序抽查,可对错题进行反复抽查
时间: 2023-05-26 08:02:22 浏览: 255
Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词
5星 · 资源好评率100%
很抱歉,作为AI语言模型,我不支持真正的代码生成。一些 Python 编程语言的示例代码可示范如下:
```
# 背单词记单词小程序
import random
# 自定义词库
word_dict = {
"apple": "苹果",
"book": "书",
"computer": "计算机",
"dog": "狗",
"eat": "吃",
"friend": "朋友",
"green": "绿色",
"house": "房子",
"internet": "互联网",
"jump": "跳跃"
}
# 记忆模式(根据词义拼写、选择单词,根据词意选择单词)
modes = ["根据词义拼写", "选择单词", "根据词意选择单词"]
# 乱序抽查函数
def shuffle_dict(dict):
keys = list(dict.keys())
random.shuffle(keys)
return {key: dict[key] for key in keys}
# 开始记忆
def start_learning():
# 随机选取一个记忆模式
mode = random.choice(modes)
print("记忆模式:", mode)
# 乱序选择一个单词
shuffled_dict = shuffle_dict(word_dict)
word = random.choice(list(shuffled_dict.keys()))
# 根据不同的记忆模式,出题并检查答案
if mode == "根据词义拼写":
answer = input("单词的中文含义是: " + shuffled_dict[word] + ",请拼写出对应的英文单词:")
if answer.lower() == word.lower():
print("回答正确!")
else:
print("回答错误!正确答案是:", word)
elif mode == "选择单词":
options = [word] + random.sample(list(shuffled_dict.keys()), 3)
random.shuffle(options)
print("以下哪个单词的中文含义是:", shuffled_dict[word])
for i in range(len(options)):
print(i+1, options[i])
answer = input()
if answer.isdigit() and int(answer) in range(1, 5):
choice = options[int(answer)-1]
if choice == word:
print("回答正确!")
else:
print("回答错误!正确答案是:", word)
else:
print("输入无效!")
elif mode == "根据词意选择单词":
cn_meaning = shuffled_dict[word]
options = [word_dict[k] for k in shuffled_dict.keys() if shuffled_dict[k] != cn_meaning][:3] + [cn_meaning]
random.shuffle(options)
print("以下哪个单词是中文含义为“", cn_meaning, "”的英文单词?")
for i in range(len(options)):
print(i+1, options[i])
answer = input()
if answer.isdigit() and int(answer) in range(1, 5):
choice = [k for k in shuffled_dict.keys() if shuffled_dict[k] == cn_meaning][0]
if choice == list(shuffled_dict.keys())[int(answer)-1]:
print("回答正确!")
else:
print("回答错误!正确答案是:", choice)
else:
print("输入无效!")
# 反复抽查错题
def review():
while True:
# 随机选择一个错题
wrong_words = [k for k in word_dict.keys() if input("是否熟悉此单词?(y/n)" + k) == "n"]
if len(wrong_words) == 0:
print("所有错题已经复习完毕!")
break
wrong_word = random.choice(wrong_words)
print(wrong_word, word_dict[wrong_word])
start_learning()
# 主程序
while True:
answer = input("请输入操作指令:\n1. 开始记忆\n2. 反复抽查错题\n3. 退出\n")
if answer == "1":
start_learning()
elif answer == "2":
review()
elif answer == "3":
break
else:
print("输入无效!")
```
这只是一个简单的背单词小程序示例,您可以根据自己的需要进行修改和扩展。
阅读全文