102 lines
2.9 KiB
Plaintext
102 lines
2.9 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1 解答题 2\n",
|
|
"2 解答题 3\n",
|
|
"3 解答题 3\n",
|
|
"4 解答题 2\n",
|
|
"5 解答题 2\n",
|
|
"6 解答题 2\n",
|
|
"7 解答题 2\n",
|
|
"8 解答题 2\n",
|
|
"1 解答题 1\n",
|
|
"2 解答题 2\n",
|
|
"3 解答题 2\n",
|
|
"4 解答题 3\n",
|
|
"5 解答题 2\n",
|
|
"6 解答题 2\n",
|
|
"7 选择题 1\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import os,re\n",
|
|
"#修改文件名\n",
|
|
"filename = r\"C:\\Users\\wang Weiye\\Documents\\wwy sync\\23届\\第一轮复习讲义\\33_.tex\"\n",
|
|
"# filename = r\"C:\\Users\\Wang Weiye\\Documents\\wwy sync\\23届\\上学期周末卷\\国庆卷.tex\"\n",
|
|
"outputfile = \"临时文件/题目状态.txt\"\n",
|
|
"\n",
|
|
"outputstr = \"\"\n",
|
|
"with open(filename,\"r\",encoding = \"utf8\") as f:\n",
|
|
" data = f.read()\n",
|
|
"data = re.sub(r\"\\\\begin\\{center\\}[\\s\\S]*?\\\\end\\{center\\}\",\"\",data)\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.9.7 ('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.9.7"
|
|
},
|
|
"orig_nbformat": 4,
|
|
"vscode": {
|
|
"interpreter": {
|
|
"hash": "e4cce46d6be9934fbd27f9ca0432556941ea5bdf741d4f4d64c6cd7f8dfa8fba"
|
|
}
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|