Skip to content
This page has been auto-translated and may contain errors.View in English

title: 闪卡学习应用 description: 从 JSON 文件加载闪卡牌组,进行学习测试,并跨会话追踪得分。

闪卡学习应用

Zee 嘿,所以。我六周后要考推进系统,我通过自我测试学得更好。你能构建一个闪卡应用吗?从文件加载卡片,显示正面,我输入答案,它告诉我是否正确。我还想保存我的进度,这样我可以接着之前的进度继续。拜托了 🙏

你将要构建的内容

Deck: python-basics.json (12 张卡片)

Front: len() 对字符串返回什么?
Your answer: 字符的数量
Correct!

Front: input() 总是返回什么类型?
Your answer: int
Incorrect. The answer is: str

---
Session complete: 8/12 correct.
Progress saved.

你需要的知识

提示

从数据开始,而不是从类开始。 一张卡片是两个字符串:正面和背面。一个牌组是一个卡片列表。先让它工作,如果需要更清洁的接口再用类包装。

JSON 处理文件格式。 json.load() 将文件读入 Python 列表或字典。json.dump() 将其写回。json 模块在标准库中。

在 try/except 中包装文件加载。 脚本第一次运行时,保存文件不会存在。捕获 FileNotFoundError 可以让你优雅地以空牌组开始,而不是崩溃。

进一步扩展

核心学习循环工作后:

  • 重复错误答案。 跟踪玩家答错的卡片,在会话结束时再次循环它们。
  • 多个牌组。 列出文件夹中可用的 .json 文件,让用户选择要学习哪个牌组。
  • 间隔重复。 记录每张卡片被正确回答的次数。更频繁地显示答对次数较少的卡片。