易错题来源清点功能更新

This commit is contained in:
WangWeiye 2023-04-18 14:35:12 +08:00
parent d4a77df10a
commit 1baa8a0f36
1 changed files with 15 additions and 3 deletions

View File

@ -1,6 +1,7 @@
import os,re,json import os,re,json
outputfile = "临时文件/已做题目.txt" outputfile = "临时文件/已做题目.txt"
classid = "2023届高三02班"
new_dir = r"C:\Users\weiye\Documents\wwy sync\23届\四月错题重做" new_dir = r"C:\Users\weiye\Documents\wwy sync\23届\四月错题重做"
old_dirs = [ old_dirs = [
@ -27,6 +28,7 @@ with open(r"../题库0.3/Problems.json","r",encoding="u8") as f:
data = f.read() data = f.read()
pro_dict = json.loads(data) pro_dict = json.loads(data)
# 收集数据构建已做过的题目的id与试卷-题号-题序对应字典
id_resp_dict = {} id_resp_dict = {}
for dir in old_dirs: for dir in old_dirs:
@ -55,19 +57,29 @@ for texfile in new_texfiles:
print(",".join(ids)) print(",".join(ids))
for id in ids: for id in ids:
if id in id_resp_dict: if id in id_resp_dict:
results = "\n".join([(id + "\t" + r) for r in pro_dict[id]["usages"] if classid in r])
print("(%s)\t(已做题)\t%s"%(id,",".join(id_resp_dict[id]))) print("(%s)\t(已做题)\t%s"%(id,",".join(id_resp_dict[id])))
print(results)
output += "(%s)\t(已做题)\t%s\n"%(id,",".join(id_resp_dict[id])) output += "(%s)\t(已做题)\t%s\n"%(id,",".join(id_resp_dict[id]))
output += results + "\n"
elif id_related: elif id_related:
rel_ids = pro_dict[id]["related"] rel_ids = pro_dict[id]["related"]
origins = [] origins = []
for id in rel_ids: for id1 in rel_ids:
if id in id_resp_dict: if id1 in id_resp_dict:
origins += id_resp_dict[id] origins += id_resp_dict[id1]
print("(%s)\t(关联题)\t%s"%(id,",".join(origins))) print("(%s)\t(关联题)\t%s"%(id,",".join(origins)))
output += "(%s)\t(关联题)\t%s\n"%(id,",".join(origins)) output += "(%s)\t(关联题)\t%s\n"%(id,",".join(origins))
for id1 in rel_ids:
results = "\n".join([(id1 + "\t" + r) for r in pro_dict[id1]["usages"] if classid in r])
print(results)
output += results + "\n"
else: else:
print("(%s)\t(无关题)") print("(%s)\t(无关题)")
output += "(%s)\t(无关题)\n" output += "(%s)\t(无关题)\n"
results = "\n".join([(id + "\t" + r) for r in pro_dict[id]["usages"] if classid in r])
print(results)
output += results + "\n"
print("") print("")
output += "\n" output += "\n"