{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 填空题 1\n", "2 填空题 1\n", "3 填空题 1\n", "4 填空题 1\n", "5 填空题 1\n", "6 填空题 1\n", "7 填空题 1\n", "8 填空题 1\n", "9 解答题 1\n", "10 解答题 1\n", "11 解答题 2\n", "12 解答题 1\n", "13 解答题 1\n", "14 解答题 1\n", "15 填空题 1\n", "16 选择题 1\n", "1 填空题 1\n", "2 填空题 1\n", "3 填空题 1\n", "4 填空题 1\n", "5 填空题 1\n", "6 选择题 1\n", "7 选择题 1\n", "8 解答题 1\n", "9 解答题 1\n", "10 解答题 1\n", "11 解答题 1\n", "12 选择题 1\n" ] } ], "source": [ "import os,re\n", "#修改文件名\n", "filename = r\"C:\\Users\\Wang Weiye\\Documents\\wwy sync\\23届\\第一轮复习讲义\\12_和差倍角公式.tex\"\n", "outputfile = \"临时文件/题目状态.txt\"\n", "\n", "outputstr = \"\"\n", "with open(filename,\"r\",encoding = \"utf8\") as f:\n", " data = f.read()\n", "sections = re.findall(r\"\\\\begin\\{enumerate\\}([\\s\\S]*?\\\\end\\{enumerate\\})\",data)\n", "for sec in sections:\n", " sec = sec.replace(\"\\\\item\",\"\\\\enditem\\\\item\").replace(\"\\\\end{enumerate}\",\"\\\\enditem\")\n", " problems = re.findall(r\"\\\\item([\\s\\S]*?)\\\\enditem\",sec)\n", " count = 0\n", " for p in problems:\n", " count += 1\n", " if \"\\\\bracket\" in p:\n", " genre = \"选择题\"\n", " parts = len(re.findall(r\"\\\\bracket\",p))\n", " elif \"\\\\blank\" in p:\n", " genre = \"填空题\"\n", " parts = len(re.findall(r\"\\\\blank\",p))\n", " else:\n", " genre = \"解答题\"\n", " parts = len(re.findall(r\"\\([\\d]{1,2}\\)\",p))\n", " if parts == 0:\n", " parts = 1\n", " print(count,genre,parts)\n", " outputstr += str(count) + \"-\" + genre + \"-\" + str(parts) + \"\\n\"\n", " outputstr += \"\\n\"\n", "with open(outputfile,\"w\",encoding = \"utf8\") as f:\n", " f.write(outputstr)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.8.8 ('base')", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "d311ffef239beb3b8f3764271728f3972d7b090c974f8e972fcdeedf230299ac" } } }, "nbformat": 4, "nbformat_minor": 2 }