单词卡/测试

抽卡背单词/选择题/填空

422 次访问

单词卡 · SM-2 间隔重复(Anki 同源算法)

单词卡(每行一张:正面 | 背面,支持 | / : / Tab 分隔)

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🎓

四六级冲刺

距离考试还有 30 天,高频词背了又忘。用本工具将 2000 个核心词导入为卡组,开启选择题模式,系统自动从 4 个近义词中随机出题。每张卡片的错误选项都来自真实真题干扰项,答错后卡片自动进入下一轮复习,直到连续 3 次答对才标记为已掌握。

📚

考研词汇攻坚

5500 个考研词汇中,熟词僻义是最大失分点。使用填空模式,输入单词后只看中文释义,强制回忆拼写。工具会记录每个单词的拼写错误次数,对拼错超过 3 次的单词自动加入「易错集」,并随机穿插在后续抽卡中,直到正确率稳定在 90% 以上。

✈️

出国前突击

下个月就要去英语国家,日常交流词汇还不够用。将机场、餐厅、酒店等场景的 500 个常用短语导入为卡组,开启选择题模式,场景图作为题干。答错时工具会展示该短语在真实对话中的使用例句,帮助建立场景记忆关联,3 天内完成全部卡片的一轮复习。

📱

通勤碎片学习

每天地铁通勤 40 分钟,纸质单词书翻不开。用本工具将生词表导入手机浏览器,设置每张卡片 15 秒自动翻页。选择题模式下,利用碎片时间完成 50 道题的训练。工具自动记录每次的答题正确率,周末汇总出本周的薄弱词汇列表,方便集中复习。

💼

商务词汇速成

新入职外企,邮件和会议中频繁出现行业术语。将 300 个商务高频词按部门分类建卡组,开启填空模式,要求输入完整单词。答错时工具会显示该词在真实邮件中的使用范例,并标注词性变化和常见搭配,帮助快速掌握职场沟通的核心词汇。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A(Anki)传统方法(纸质单词卡)
数据隐私纯浏览器处理,单词数据不上传服务器数据同步至 AnkiWeb 服务器(可选关闭)完全离线,无电子数据
离线可用加载后完全离线运行需下载客户端,桌面端可离线完全离线
题型灵活性内置抽卡、选择题、填空题三种模式通过插件和模板支持任意题型(需配置)仅支持自定格式的卡片
学习算法基础间隔重复(固定间隔)SM-2 算法(自适应间隔)无算法,依赖手动复习计划
多媒体支持纯文本,不支持图片/音频支持图片、音频、LaTeX 公式可手绘或粘贴图片
跨设备同步不支持,数据存于浏览器本地支持 AnkiWeb 多设备同步物理卡片,无法同步
上手难度打开即用,零配置需安装客户端、创建牌组、配置插件仅需纸笔,但制作耗时

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例7 个典型场景,覆盖常规、边界与易错

输入输出说明
apple苹果典型场景:基础名词,英译中
苹果apple典型场景:基础名词,中译英
run跑步(动词)典型场景:动词,带词性标注
apple;run;beautiful苹果;跑步(动词);美丽的边界 case:批量输入多个单词,分号分隔
apple, run, beautiful苹果, 跑步(动词), 美丽的边界 case:逗号分隔的批量输入
请输入单词边界 case:空输入,提示用户
12345未找到释义易错 case:纯数字非单词,无对应释义

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 单词列表包含空行或空格

错误
apple

banana
 cherry
修复
apple
banana
cherry

空行会被解析为一个空字符串词条,导致抽卡时出现空白卡片;行首尾空格会让工具误判为单词的一部分,匹配时失败。

2. 中英文混排时未用分隔符

错误
苹果apple
修复
apple	苹果
banana	香蕉

工具默认按 Tab 或逗号分割中英文;写在一起会被当作一个整体,无法正确显示释义和进行选择题干扰项生成。

3. 选择题模式下答案选项重复

错误
apple	苹果
banana	香蕉
cherry	樱桃
apple	苹果
修复
apple	苹果
banana	香蕉
cherry	樱桃

重复词条会导致选择题的四个选项中出现两个相同答案,用户无法判断正确选项,测试结果失真。

4. 填空模式中答案包含标点

错误
The __ is red.	apple.
修复
The __ is red.	apple

填空模式自动匹配时,答案中的句号会被当作答案的一部分;用户输入 'apple' 会被判错,因为实际期望是 'apple.'。

5. 单词数量过少导致测试循环

错误
apple	苹果
banana	香蕉
修复
apple	苹果
banana	香蕉
cherry	樱桃
date	枣
elderberry	接骨木果

抽卡模式默认不重复抽同一张卡;仅 2 个单词时,第二轮测试会无卡可抽,工具可能陷入空循环或显示空白。建议至少 5 个词。

6. 使用全角逗号或空格作为分隔符

错误
apple,苹果
banana 香蕉
修复
apple,苹果
banana	香蕉

工具的分隔符解析只识别半角逗号(,)或制表符(Tab);全角逗号(,)和全角空格( )会被视为单词内容的一部分,导致分割失败。

7. 忘记关闭输入法导致中文逗号

错误
apple,苹果
修复
apple,苹果

用户在中文输入法状态下直接输入逗号,实际输出的是全角逗号;工具解析时找不到分隔符,将 'apple,苹果' 整体当作一个词条处理。

8. 填空模式中句子与答案不匹配

错误
I __ a book.	read
修复
I __ a book.	read

此例看似正确,但若句子为 'He __ a book.' 而答案仍为 'read',则语法错误。工具不会校验语法,用户需自行确保填空处与答案的时态、单复数一致。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

S = W_correct / W_total × 100%

变量说明

  • S — 单词掌握率(百分比)
  • W_correct — 答对的单词数
  • W_total — 本次测试的总单词数

示例

用户在一次选择题测试中,共完成 20 个单词,答对 15 个。则 W_correct=15,W_total=20,S = 15/20 × 100% = 75%。表示当前该组单词掌握率为 75%,建议继续复习未答对的 5 个单词。

适用范围

适用于任何单词测试模式(选择题/填空/拼写),反映单次测试的即时正确率。不反映长期记忆保留率,也不区分猜对与真正掌握。

原理图

导入词库粘贴 / 上传 / 手动输入本地洗牌Fisher-Yates 随机算法展示卡片正面:单词 / 反面:释义用户交互点击翻转 / 选择答案 / 输入下一张 / 结束
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

import random

# 单词卡数据:单词、释义、例句
cards = [
    {"word": "ephemeral", "meaning": "短暂的", "sentence": "The beauty of cherry blossoms is ephemeral."},
    {"word": "ubiquitous", "meaning": "无处不在的", "sentence": "Smartphones have become ubiquitous."}
]

def quiz_multiple_choice(cards, correct_index=0):
    """选择题:从 cards 中随机选一个单词,展示 4 个选项"""
    card = random.choice(cards)
    options = [c["meaning"] for c in cards]
    random.shuffle(options)
    print(f"单词: {card['word']}")
    for i, opt in enumerate(options):
        print(f"{i+1}. {opt}")
    # 正确答案索引
    answer = options.index(card["meaning"])
    return answer

# 执行一次测试
correct = quiz_multiple_choice(cards)
print(f"正确答案选项: {correct+1}")
package main

import (
	"fmt"
	"math/rand"
	"time"
)

type Card struct {
	Word     string
	Meaning  string
	Sentence string
}

// 抽卡:从牌堆随机选一张
func drawCard(deck []Card) Card {
	rand.Seed(time.Now().UnixNano())
	return deck[rand.Intn(len(deck))]
}

func main() {
	deck := []Card{
		{Word: "ephemeral", Meaning: "短暂的", Sentence: "The beauty of cherry blossoms is ephemeral."},
		{Word: "ubiquitous", Meaning: "无处不在的", Sentence: "Smartphones have become ubiquitous."},
	}

	card := drawCard(deck)
	fmt.Printf("抽到单词: %s\n", card.Word)
	fmt.Printf("释义: %s\n", card.Meaning)
	fmt.Printf("例句: %s\n", card.Sentence)
}
// 单词卡数据
const cards = [
  { word: 'ephemeral', meaning: '短暂的', sentence: 'The beauty of cherry blossoms is ephemeral.' },
  { word: 'ubiquitous', meaning: '无处不在的', sentence: 'Smartphones have become ubiquitous.' }
];

// 填空题:隐藏单词,用户根据释义和首字母填空
function fillBlank(cards) {
  const card = cards[Math.floor(Math.random() * cards.length)];
  const hint = card.word[0] + '_'.repeat(card.word.length - 1);
  console.log(`释义: ${card.meaning}`);
  console.log(`填空: ${hint}`);
  console.log(`例句: ${card.sentence.replace(card.word, '___')}`);
  return card.word; // 正确答案
}

const answer = fillBlank(cards);
console.log(`正确答案: ${answer}`);

常见问题

8 个高频疑问

这个单词卡/测试怎么用?我打开之后不知道该点哪里。
进入页面后,默认会看到一组随机抽取的单词卡片。每张卡片正面显示单词,点击卡片翻转查看释义。页面下方有「认识」「不认识」「再想想」三个按钮,用来标记当前词的学习状态。全部卡片翻完后,系统会根据标记结果自动生成选择题或填空题测试,测试完成后会统计正确率。如果想指定单词范围,可以在页面顶部的输入框中粘贴单词列表(每行一个),或选择内置的词库分类,再点「开始学习」即可。
为什么我背了一些词,但测试里还是出现我标记为“认识”的单词?
测试的抽题策略是:优先抽取标记为「不认识」和「再想想」的词,但也会按一定比例(约 20%)混入标记为「认识」的词,目的是检验是否真的记住了。如果标记为「认识」的词在测试中反复出错,系统会自动将它降级为「不认识」并增加后续出现频率。如果希望测试只针对未掌握的词,可以在测试设置里勾选「仅测试未掌握单词」选项。
这个单词测试的题目来源是什么?单词释义准确吗?
单词的释义和例句来自内置的离线词库,包含大学英语四六级、考研、雅思、托福等常见考试词汇,释义主要参考《牛津高阶》和《柯林斯》的常用义项。选择题的干扰项从同词根的近义词或形近词中自动生成,不涉及人工出题。因为词库是离线打包的,更新频率不如在线词典,如果遇到生僻词或最新网络用语释义缺失,可以自行在输入框中添加自定义单词和释义。
这个工具跟百词斩、墨墨背单词有什么区别?
核心区别在于运行方式和数据隐私。百词斩、墨墨等是 App,需要注册账号、联网使用,学习数据存在服务器上。本工具是纯浏览器端运行,所有单词库和测试逻辑都在本地 JavaScript 中执行,不发送任何数据到服务器,关闭页面即清除。另外,本工具没有社交打卡、排名、会员等级等机制,也没有内置广告,适合只想安静刷词、不被打扰的用户。缺点是缺少艾宾浩斯复习提醒和云端同步功能。
单词卡能支持发音吗?我想听单词怎么读。
当前版本不支持内置发音,因为音频文件体积较大,全部离线打包会导致页面加载过慢。如果需要在学习时听发音,可以配合浏览器的「选中朗读」功能(Edge/Chrome 右键菜单有「朗读所选内容」)或者安装 TTS 浏览器扩展。单词卡页面上的单词文本是标准格式,可以被系统 TTS 正确识别。后续版本可能会加入可选的小体积 TTS 引擎。
我输入了 500 个单词,但只显示了 50 张卡片,是限制了吗?
没有总数限制,但每次学习时默认抽取 50 张卡片作为一轮,防止一次性展示太多导致认知疲劳。一轮完成后点击「下一轮」会从剩余未学习的词中再抽 50 张,直到全部完成。如果想一次看完所有单词,可以在设置中将「每轮卡片数」调高到 200 或更多。注意:单词数量过多时,页面渲染和翻转动画可能会有轻微卡顿(取决于浏览器性能)。
填空题的答案必须完全一致才算对吗?少写了一个字母怎么办?
填空题采用精确匹配,大小写不敏感,但拼写必须完全正确,少写或多写一个字母都会判错。这是因为浏览器端无法实现智能模糊匹配(如 Levenshtein 距离计算)而不引入额外库。如果经常因为 typo 被扣分,可以暂时切换到选择题模式练习,等拼写熟练后再切回填空。另外,单词的英美拼写差异(如 colour/color)会被视为两个不同答案,建议在输入单词时统一使用一种拼写。
为什么我背单词时页面突然卡住了?点翻转没反应。
最常见的原因是输入的单词列表中有特殊字符(如 Emoji、全角符号、不可见控制字符)导致卡片渲染异常。可以检查单词文本是否包含非字母符号(如 ✅、★、 等),将其删除后重试。另一个原因是同时打开的标签页过多导致浏览器内存不足,可以关闭其他标签页或刷新页面。因为所有计算在本地完成,不依赖网络,所以卡顿基本是浏览器性能或输入数据问题。
选择 打开 +新窗口 esc关闭