简易版的英语单词学习系统 Python 实现
·
简易版的英语单词学习系统 Python 实现。
用户可以学习单词并接受选择题测试。
# 简易英语单词学习系统
# 1. 定义词库 (单词: 中文释义)
ciku = {
"apple": "苹果",
"banana": "香蕉",
"computer": "电脑",
"book": "书",
"water": "水",
"hello": "你好",
"goodbye": "再见",
"cat": "猫",
"dog": "狗",
"student": "学生"
}
# 2. 学习模式函数
def xuexi():
"""展示所有单词及其释义"""
print("\n--- 单词库 ---")
for yingwen, zhongwen in ciku.items():
print(f"{yingwen}: {zhongwen}")
print("--------------\n")
# 3. 测试模式函数
def ceshi():
"""随机抽取单词进行选择题测试"""
import random
# 获取所有单词列表
danci_list = list(ciku.keys())
# 随机打乱顺序
random.shuffle(danci_list)
print("\n--- 开始测试 --- (输入选项字母 a, b, c, d 或输入 'tuichu' 退出)")
zhengque = 0 # 正确计数
cuowu = 0 # 错误计数
# 遍历打乱后的单词列表进行测试
for danci in danci_list:
# 获取正确答案
zhengque_daan = ciku[danci]
# 从整个词库释义中随机抽取3个错误选项
cuowu_daan_list = random.sample(list(ciku.values()), 3)
# 确保正确答案不在错误选项里 (虽然概率极低,但加个判断)
if zhengque_daan in cuowu_daan_list:
cuowu_daan_list.remove(zhengque_daan)
# 如果移除后不够3个,再补一个随机错误选项 (确保4个选项)
while len(cuowu_daan_list) < 3:
bu_de = random.choice(list(ciku.values()))
if bu_de != zhengque_daan and bu_de not in cuowu_daan_list:
cuowu_daan_list.append(bu_de)
# 组合四个选项 (1个正确 + 3个错误)
xuanxiang_list = [zhengque_daan] + cuowu_daan_list
# 打乱选项顺序
random.shuffle(xuanxiang_list)
# 生成选项字母 (a, b, c, d)
xuanxiang_zimu = ['a', 'b', 'c', 'd']
# 打印问题和选项
print(f"\n单词 '{danci}' 的中文意思是?")
for idx, xx in enumerate(xuanxiang_list):
print(f"{xuanxiang_zimu[idx]}. {xx}")
# 获取用户输入
user_input = input("你的选择: ").lower().strip() # 转换为小写并去除空格
# 检查用户是否想退出
if user_input == 'tuichu':
print("退出测试模式。")
break
# 检查输入是否有效 (a, b, c, d)
if user_input not in xuanxiang_zimu:
print("无效输入,请输入 a, b, c 或 d。")
cuowu += 1
continue
# 获取用户选择的选项索引
user_choice_index = xuanxiang_zimu.index(user_input)
# 获取用户选择的释义
user_choice = xuanxiang_list[user_choice_index]
# 判断对错
if user_choice == zhengque_daan:
print("正确!")
zhengque += 1
else:
print(f"错误!正确答案是: {zhengque_daan}")
cuowu += 1
# 打印测试结果
print("\n--- 测试结束 ---")
print(f"正确: {zhengque} 题")
print(f"错误: {cuowu} 题")
if (zhengque + cuowu) > 0: # 避免除零
print(f"正确率: {(zhengque / (zhengque + cuowu)) * 100:.2f}%")
# 4. 主程序循环
def main():
print("欢迎使用简易英语单词学习系统!")
while True:
print("\n请选择模式:")
print("1. 学习单词 (查看词库)")
print("2. 测试单词")
print("3. 退出系统")
xuanze = input("输入选项 (1/2/3): ").strip()
if xuanze == '1':
xuexi()
elif xuanze == '2':
ceshi()
elif xuanze == '3':
print("感谢使用,再见!")
break
else:
print("无效输入,请重新选择。")
# 5. 启动程序
if __name__ == "__main__":
main()
使用说明:
- 运行程序:将代码保存为
.py文件(例如word_learning.py)并运行。 - 主菜单:程序启动后显示主菜单,提供三个选项:
1: 学习单词 - 显示当前词库中的所有单词及其中文释义。2: 测试单词 - 进入测试模式。系统随机抽取单词,给出四个中文选项(一个正确,三个错误),用户选择答案后即时反馈对错。测试过程中可以输入tuichu退出测试。3: 退出系统 - 结束程序。
- 测试模式:
- 每次测试会遍历词库(顺序随机)。
- 用户需输入选项对应的字母
a,b,c,d。 - 测试结束后显示正确题数、错误题数和正确率。
可扩展功能:
- 管理词库:增加从文件加载词库、添加/删除单词的功能。
- 记录学习进度:记录用户的历史测试成绩、常错单词等。
- 多种测试模式:增加英译中选择题、中译英填空题、拼写练习等。
- 难度分级:根据用户水平选择不同难度的词库。
- 图形界面:使用
tkinter或PyQt等库创建更友好的界面。
这个简易版本聚焦于核心功能(学习词库和选择题测试),代码结构清晰,易于理解和扩展。
更多推荐



所有评论(0)