This repository has been archived on 2024-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mathdeptv2/工具/根据目标列表批量生成对应题目的字典.ipynb

117 lines
3.5 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"with open(\"../题库0.3/Problems.json\",\"r\",encoding = \"utf8\") as f:\n",
" database = f.read()\n",
"import json\n",
"pro_dict = json.loads(database)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# 输入目标列表\n",
"t = \"\"\"K0719001X\n",
"K0719002X\n",
"K0719003X\n",
"K0719004X\n",
"K0719005X\n",
"K0719006X\n",
"K0720001X\n",
"K0720002X\n",
"K0720003X\n",
"K0720004X\n",
"K0720005X\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\"K0719001X\":\"004654\",\n",
"\"K0719002X\":\"002393,009099\",\n",
"\"K0719003X\":\"000369,000467,000669,000728,000806,000833,000878,000909,000957,000968,002395,002397,002405,002406,002407,003448,003639,003837,003930,003945,004197,004221,004495,004514,004524,004550,004570,008921,008924,008926,008928,008935,008960,009077,009105,009837,009840,010682\",\n",
"\"K0719004X\":\"000337,000707,000739,000783,000864,002408,002409,002410,002439,003437,003449,008920,008927,008953,008956,009081,009836,010684\",\n",
"\"K0719005X\":\"000290,002440,002441,002450,004078,010703\",\n",
"\"K0719006X\":\"000275,002402,002421,002689,003440,003599,003781,008923,010683\",\n",
"\"K0720002X\":\"002426\",\n",
"\"K0720003X\":\"000282,000464,002398,002400,002401,002403,002404,002411,002412,002413,002417,002418,002419,002420,002422,002423,002424,002425,002427,002429,002430,002434,002436,002437,002445,002690,003438,003439,003441,003443,003444,003446,003447,003450,003451,004141,004225,004351,004372,004626,004639,004713,004764,008922,008925,008930,008931,008932,008933,008934,008936,008954,008955,008968,009098,009106,009110,009838,009839,010685,010688,010689\",\n",
"\"K0720004X\":\"000804,003795,004065,008929,008937,008957,010686\",\n",
"\"K0720005X\":\"002438\",\n"
]
}
],
"source": [
"dict1 = {}\n",
"for o in [l.strip() for l in t.split(\"\\n\") if len(l.strip())>0]:\n",
" dict1[o] = []\n",
"for id in pro_dict:\n",
" for o in dict1:\n",
" objs = pro_dict[id][\"objs\"]\n",
" flag = True\n",
" if not o in objs:\n",
" flag = False\n",
" for obj in objs:\n",
" if obj > o:\n",
" flag = False\n",
" break\n",
" if flag:\n",
" dict1[o].append(id)\n",
"for o in dict1:\n",
" if not dict1[o] == []:\n",
" print('\"'+o+'\":\"'+\",\".join(dict1[o])+'\",')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"\n"
]
}
],
"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
}