拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用Python拆解高一英语语法单选题:考点频次与错题分析

简介面向高一学生和英语教师的人教版必修二总复习单项选择题资料覆盖高频短语、定语从句、主语从句、时态语态、连词与强调句型等核心语法点帮助学习者在期末或单元复习中快速查漏补缺。文件为 1 个 doc 文档压缩包约52KB内容由选择题及配套知识点解析构成部分题目还给出错误选项的排除思路。目前已有87人浏览学习适合自测或课堂练习使用。资料解析包含“thinking highly of”“search”短语辨析、非限制性定语从句关系代词、形式主语结构、不定式与被动语态、连词 besides 逻辑衔接以及完成时态否定推测用法等约12个高频考点每题都点明答案依据便于学生理解难点并迁移运用。教师也可直接用于组卷或讲评是精简实用的复习工具。1. 这份 docx 不是普通试卷而是高一英语语法考点的压缩包拿到这份文档的人第一反应往往是“不就是一份单选题汇总吗”。但把 Unit 1 Cultural relics 到 Unit 5 Music 全部 100 道题按考点拆开看会发现它其实是一个结构非常完整的语法训练语料库非谓语动词、定语从句、主语从句、情态动词推测、固定短语搭配、强调句型全部被编排进具体的语境单选题里而且每个单元 20 题的密度和分布恰好覆盖了人教版高一英语必修二阶段最常考、也最容易丢分的几个语法板块。这份 Word 文档可以直接用来做三件事教师备课选题、学生考前自测、教研组做考点频次统计。需要特别注意的是文档里的解析线索比题目本身更有价值——比如“thinking highly of”考查的是“介词关系代词”的省略结构而不是单纯的固定短语记忆这种命题思路值得单独拉出来分析。2. 从 100 道单选题里提取考点频次与命题规律2.1 按语法大类切分语料先把 100 道题按语法属性做一个粗略归类能看到明确的频次分布。动词相关题目时态语态、主谓一致、情态动词、非谓语占了接近一半从句相关定语从句、主语从句、宾语从句、同位语约占三成剩下的是固定搭配、连词辨析和交际用语。这个比例和近五年各地高一期末统考的考点分布基本吻合说明这套题不是随意拼凑的而是按课标权重设计的。一个更有效的做法是把题目文本当作纯文本语料来处理。用 grep 或 Python 的字符串匹配把“which、that、where、whose”这类关系词的出现次数统计出来再把“to do、doing、done”的出现位置标出来就能得到一份属于自己的考点热力图。下面这段命令可以直接在 bash 里跑前提是把 docx 先转换成纯文本文件。grep -o thinking highly of\|no wonder\|be considered to\|in search of\|replace.*with\|compete.*for questions.txt | sort | uniq -c | sort -rn这段命令的作用是统计特定短语在全部题目中的出现频次。grep -o只输出匹配到的部分而不是整行sort | uniq -c做频次统计最后的sort -rn按数字倒序排列。输出结果能直接告诉你哪些短语是命题人反复使用的素材比如be considered to出现在 Unit 1 第 5 题no wonder出现在 Unit 1 第 6 题这些都是可以重点标注的高频考点。2.2 非谓语动词to do、doing 与 done 的选项设计这套题里的非谓语考点设计得很典型一个核心规律是命题人不会只考一个非谓语形式而是把“主动被动”和“时态先后”两个维度叠加在一起设计选项。看 Unit 1 第 7 题题干说“it remains ______ whether they will enjoy it”四个选项分别是 to see、to be seen、seeing、seen。这里考查的是 remain 后面接不定式的用法同时由于“是否会被看到”这个含义需要被动语态正确答案成了 to be seen。很多学生只记住了 remain to do 的结构却忽略了这个结构里的被动含义于是选成了 to see。这种“结构正确但语态错误”的选项就是典型的干扰项设计。Unit 1 第 5 题考查的是 be considered to have done 结构。题干是 Jack is considered _______ it被认为做了这件事四个选项是 having done、to have done、doing、to do。这里有两个判定点consider 接不定式而不是动名词动作发生在过去所以用完成式。看出来没有“to have done”同时包含了结构与时间两个信息而 having done 只对了时间却错在结构。2.3 定语从句与主语从句的引导词分析Unit 1 第 3 题考的是“the larger of which”这个结构。题干是 There were two large buildings, _______ stands nearly a hundred feet high。很多学生会在 A the larger 和 D the large of which 之间犹豫这里的关键是这个从句是非限制性定语从句前面有逗号同时先行词是 two large buildings需要一个关系词来连接“较大的那座”与“前文两栋楼”的关系。“the larger of which”里 which 指代 two large buildingsthe larger 是两栋楼中较大的一个整体作为从句的主语。Unit 1 第 4 题是典型的 It is known to all that... 结构。这道题考的是形式主语 it 与 as 引导定语从句的区别。如果题干写的是 ______ is known to all, the Amber Room belongs to the Russians注意有逗号那才用 as而题干用的是 that 引导的从句前面没有逗号只能用 it 作形式主语。这个区分是高一学生最容易混淆的点因为两种句型在中文翻译里都是“众所周知”。2.4 高频固定搭配词表搭配所在题目位置干扰项类型判定要点think highly ofUnit 1 第 1 题of proving / of to proveof 属于介词后面动名词但此处 of 是关系代词 that 的介词前置search sb.Unit 1 第 2 题search for / in search ofsearch for 是寻找目标search sb. 是搜身审查no wonderUnit 1 第 6 题no way / no surpriseno wonder 是固定结构等于 its not surprising thatIts up to youUnit 1 第 11 题Thats it / You got it语境是需要给出建议不是确认事实make a promiseUnit 2 第 9 题do / bring / showpromise 只能和 make / keep / break 搭配take part inUnit 2 第 2 题join / join in / attendtake part in 强调参与整个活动过程deal withUnit 3 第 4 题do withdeal with 与 how 搭配do with 与 what 搭配die outUnit 4 第 18 题die down / die awaydie out 表示物种灭绝by accidentUnit 5 第 1 题by mistake / by chanceby accident 与 by chance 同义但题目语境是意外得知表格呈现的是固定搭配的判定逻辑使用时有一个更高效的思路不要单独背搭配而是把搭配放回题目语境同时记住它的“干扰项家族”。比如 deal with 的干扰项是 do with两者的关系是“how 配 deal withwhat 配 do with”记住题干里出现的是 how 还是 what比记住短语本身更快得出答案。3. 用 Python 脚本把 Word 文档转成错题分析表3.1 文档结构解析与题干切分想把这份 docx 变成可分析的数据第一步是解析文档结构。docx 文件本质上是一个压缩包里面是 XML 格式的文本节点可以用 python-docx 库直接读取。from docx import Document doc Document(人教版高一英语必修二总复习单项选择题.docx) lines [] for para in doc.paragraphs: text para.text.strip() if text: lines.append(text) for i, line in enumerate(lines[:30]): print(i, line)这段代码读取 Word 文档的所有段落并打印前 30 行的内容。Document()会直接打开 docx 并解析段落对象para.text提取段落的纯文本内容。需要注意的一点是原始文档里题号和选项有时在同一个段落里有时是分段存放的这样打印出来后能先肉眼判断文本组织方式再设计切分的逻辑。从输出可以看到Unit 1 第 1 题题干占据了行 2选项 ABCD 在后续的行里但有的题目题干和选项中间还夹着空行和页码标注需要先统一清洗。3.2 给题目打考点标签切分出题干和选项之后下一步是给每道题打考点标签。这是整个分析里价值最大的一步因为有了标签才能统计薄弱环节。打标签的思路是用关键词规则做映射。rules { 非谓语结构: [remain, consider, to have done, having done], 定语从句: [which, whose, in which, of which], 主语从句: [It is ... that, what, that], 情态动词推测: [cant have, could have, must have], 固定搭配: [think highly of, no wonder, take part in] } for qid, sentence in questions.items(): matched [] for tag, keywords in rules.items(): for kw in keywords: if kw in sentence: matched.append(tag) break if matched: question_tags[qid] matched这段代码用关键词列表做规则匹配。for qid, sentence in questions.items()遍历上一步切分好的题干字典rules里的每个标签对应一组关键词只要题干命中其中一个词就打上该标签。一个题目可能命中多个标签比如 Unit 1 第 5 题同时命中“非谓语结构”和“固定搭配”这没问题一道题考查多个点反而是常态。3.3 统计输出与薄弱点定位标签打好之后统计每个标签的出现次数就能定位薄弱点。这个统计逻辑很简单但输出结果的呈现方式有讲究。from collections import Counter tag_counter Counter() for qid, tags in question_tags.items(): for tag in tags: tag_counter[tag] 1 for tag, count in tag_counter.most_common(): print(f{tag}: {count} 题)Counter会把所有标签的频次汇总并按数量倒序排列。这一步输出的结果可以直接和班级整体得分率做对比。比如统计发现“非谓语结构”标签有 17 题而学生在这些题上的错误率明显高于其他标签题目那下一步教学的重点就该对准非谓语。在批改时还可以把错误题目的 qid 收集起来和 tag 做反向索引得到“错误题目考点标签”的关联表这个表就是错题分析会的底稿。4. 从选项设计反推命题人的四个干扰方向4.1 谓语动词的时态与主谓一致干扰Unit 1 第 9 题是非常经典的综合干扰题。题干是“It is the youngest brother rather than his two elder brothers _______ been fined for breaking the traffic rules”四个选项分别是 whom have、who have、that have、that has。这道题同时考三个点强调句型、主谓一致、完成时态。命题人的干扰设计在于rather than his two elder brothers会让部分学生误以为主语是复数于是选了 who have 或 that have但强调句型中谓语的单复数必须和被强调的主语保持一致the youngest brother 是单数所以正确答案是 that has。破解这类题的方法是先把rather than...附加成分去掉找到句子真正的主语再判断单复数。4.2 非谓语动词的主动被动与完成式干扰Unit 1 第 5 题的四个选项 having done、to have done、doing、to do 构成了一个完整的干扰矩阵。having done 和 doing 是在“consider 接动名词”这条错误路径上设计的to do 是在“动作未发生”的错误时间上设计的只有 to have done 同时满足 consider 接不定式和动作已发生这两个条件。这里有个判断技巧当选项里同时出现 to do 和 to have done 时先看题干里动作是否已完成如果句子有明显过去时间或“完成”语义直接锁定 to have done 形态。4.3 近义短语的语境差干扰Unit 1 第 2 题的 search 系列是近义短语干扰的典型。search for 强调“寻找”search sb. 强调“搜查某人”in search of 是介词短语不能直接作谓语look for 虽然也是“寻找”但与 search for 相比更口语化、且不强调搜身检查的动作。命题人把这四个选项放在一起考查的不是单词量而是语境识别能力。警察想要确认他是否有枪动作是“搜查他的身体”所以只能用 searched。同类设计还出现在 Unit 2 第 2 题的 take part in / join in / join / attend 辨析以及 Unit 4 第 18 题的 die out / die down / die away 辨析。4.4 连词与逻辑关系干扰连词题的设计通常围绕“逻辑关系”展开。Unit 1 第 8 题考查 besides 和 however 的区别前面说“我对音乐会没兴趣”后面说“我有很多工作要做”两个分句之间是并列补充关系而不是转折关系因此要用 besides 而不是 however。Unit 5 第 6 题的 while 考查的是对比逻辑“我做了所有家务而丈夫只偶尔洗洗碗”while 在这里表示对比。做这类题的有效步骤是先用中文判断两个分句之间的逻辑关系是转折、并列、因果还是对比再看四个连词各自承担的逻辑功能。干扰方向典型题目判定方法时态与主谓一致Unit 1 第 9 题去掉附加成分找真正主语非谓语形态叠加Unit 1 第 5、7 题先定结构再看时态与语态近义短语语境差Unit 1 第 2 题、Unit 2 第 2 题明确动作对象和语义侧重连词语义错位Unit 1 第 8 题、Unit 5 第 6 题画逻辑关系图判断转折或并列5. 高频失分点与可操作的辨析流程5.1 三组最值得单独训练的易混短语第一组是 Unit 1 第 6 题的 no wonder 和 no surprise。很多学生容易误选 no surprise因为中文都翻译成“难怪”。这里的关键是结构固定性no wonder 是高中的高频考点属于固定结构可直接作独立分句no surprise 虽然语义相近但在这种简答语的语境下不是标准用法。第二组是 Unit 3 第 4 题的 deal with 和 do with。记住一个核心绑定关系就够了how 只能配 deal withwhat 只能配 do with。题干用了 how答案只能从 deal with 里选反之亦然。这类考题不考语义差异只考搭配绑定不需要纠结两者的意思差别。第三组是 Unit 1 第 2 题的 search 和 search for。search 后直接接被搜的对象search for 后接要找的目标。放在语境里“搜查他”是 search him“寻找他”是 search for him。警察查枪是搜身不是找人答案就清楚了。这三组的共同特征是命题人用“中文翻译相似”来制造干扰备考时应该直接看英文结构而不是先过一遍中文。5.2 主语 it 与强调句型的区分方法Unit 1 第 4 题的 It is known to all that... 和 Unit 1 第 9 题的 It is... rather than... 出现在同一单元很多学生容易把两个结构混在一起。区分的实用方法是看删除 It is... that 之后句子是否完整。强调句型 It is 被强调部分 that 剩余部分删掉 it is 和 that 后剩下的内容可以独立成一个完整句子。比如 It is the youngest brother that has been fined删掉后得到 the youngest brother has been fined句子完整。主语从句 It is known to all that... 删掉 it is 和 that 后得到 known to all the Amber Room belongs to the Russians明显不完整因为 known to all 缺了系动词部分。把“删除法”固化成习惯这类题基本不会丢分。解法顺序 1. 先看题干有没有逗号分隔逗号决定是定语从句还是主语从句。 2. 再用删除法判断删掉 it is 和 that剩余部分是否成句。 3. 成句 → 强调句型不成句 → 主语从句或固定句型。这个流程不只适用于这一份文档任何包含 It is... that... 结构的题目都能套用。操作时在第 1 步要特别注意as 引导的非限制性定语从句同样以“逗号as is known”形式出现一旦看到逗号就不能再往主语从句方向考虑。5.3 动名词与不定式的判定顺序Unit 4 第 20 题的 require reading 考查动名词被动含义。这类题有个通用判定顺序先判断谓语动词要求的接续形式是 to do 还是 doing再判断是否需要被动含义。require doing 这个结构本身就表示被动含义等于 require to be done所以不能再加 being done 的形式看到选项里出现 being read 直接排除。同样的逻辑适用于 Unit 3 第 13 题 spent... studying 和 Unit 4 第 14 题 paid attention to developing一个接动名词、一个是介词 to 后面接动名词。这组题目放在一起训练效果最好把 require doing、spend time doing、pay attention to doing 三组放到同一个错题本里每次复习时三行并排看既能强化“动词接续”的记忆又能避免把介词 to 和不定式符号 to 搞混。6. 把这套题做成可复用的校本语料库6.1 用 Python 生成自动批改和成绩分布把答案做成 JSON 文件再写一个批改脚本可以让学生自助测试后立即拿到成绩分布。这里的关键是答案文件的格式设计建议用题目编号作为键避免和题目顺序耦合。answer_key { u1_q1: B, u1_q2: B, u1_q3: D, u1_q4: C, u1_q5: B, u1_q6: C, u1_q7: B, u1_q8: D, u1_q9: D, u1_q10: C, u1_q11: C, u1_q12: B } def grade_sheet(student_answers): correct 0 error_map [] for qid, student_ans in student_answers.items(): if student_ans.upper() answer_key.get(qid): correct 1 else: error_map.append((qid, student_ans, answer_key.get(qid))) total len(answer_key) print(f正确率: {correct}/{total}) for qid, stu_ans, right_ans in error_map: print(f错题 {qid}: 学生选 {stu_ans}, 正确答案 {right_ans}) return correct / totalstudent_answers是一个字典键是题目编号值是学生提交的答案。批改函数用answer_key.get(qid)取出标准答案做比对错题记录里同时保存学生答案和正确答案方便后续生成错题报告。注意answer_key里的答案要留一份原始数据不要直接覆盖因为还需要用这份数据生成题目难度系数——如果某个题目的全班错误率超过 60%就说明这个考点在授课环节需要补讲。6.2 批量导出为 Markdown 和移动端练习页docx 格式在手机端阅读体验不好可以把题干和选项批量转换成 Markdown 或简单 HTML。转换的核心是保留题干中的空格和题干序号去掉多余页码。建议输出格式是这样的### Unit 1 - Q1 The employee you had been thinking highly_______ dishonest. - A. of proving - B. of proved - C. of to prove - D. of being proved detailssummary参考答案/summaryB/details转换脚本就是逐题读取切分好的数据结构然后用 f-string 拼成 Markdown 文本。每道题的参考答案包在details标签里在移动端浏览时可以折叠起来学生先做题再点开看答案比直接看解析更有练习效果。同一个脚本可以再加一个开关生成不带答案的空白版本用于课堂限时训练。6.3 切片成每日五题并做好间隔重复把 100 道题按考点均匀切片每天只输出 5 题并按照“前一天的错题 新考点题目”的比例组合就形成了一个轻量级的复习循环。切片时有一个容易忽略的细节不要把同一个考点的题目集中在同一天输出比如非谓语题分布在五天的题量里每次只出现一两道这样能持续保持对弱点的暴露频率。间隔重复的核心价值不是累积做题量而是让容易遗忘的知识点在即将遗忘的时间点重新出现这种切片方式不需要额外的记忆软件一个简单的 Python 循环就能实现每天生成当天的练习文本。每次生成时把错题的题号追加进一个错题列表第二天生成内容时优先从错题列表里取题当天的新题数量相应减少。坚持两轮循环后错题列表会越来越短此时可以把错题列表里的题目单独打包成一份重点突破卷这套 100 题的文档就真正变成了一个能滚动更新的个人题库。本文还有配套的精品资源点击获取
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门