From 1793138b57b6192041b09088c8c0e12ed2c0a33f Mon Sep 17 00:00:00 2001 From: "weiye.wang" Date: Thu, 29 Jun 2023 21:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=85=B7v2=E4=B8=AD=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E9=A2=98=E5=8F=B7=E5=AD=97=E5=85=B8=E7=94=9F?= =?UTF-8?q?=E6=88=90.py=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具v2/database_tools.py | 13 +++++++++++++ 工具v2/分类题号字典生成.py | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 工具v2/分类题号字典生成.py diff --git a/工具v2/database_tools.py b/工具v2/database_tools.py index 66e21a4d..bb8279d5 100644 --- a/工具v2/database_tools.py +++ b/工具v2/database_tools.py @@ -626,7 +626,20 @@ def SortUsages(prodict): return 0 #返回0 +def SortUsagesbyAverage(theusages): #根据使用记录每一条的平均值进行排序, 越高的在越前面 + glossdifflist = [] + for i in range(len(theusages)): + glossdifflist = glossdifflist + [(i,parseUsage(theusages[i])["glossdiff"])] + sortedglossdifflist = sorted(glossdifflist, key = lambda x:x[1], reverse = True) + newusages = [theusages[i[0]] for i in sortedglossdifflist] + return(newusages) # 返回排序后的list +def StripSuffix(string, suf_words): #除去字符串前后的空格及suf_words中每一个符合regex的字符串及其之后的部分 + string = string.strip() + for sw in suf_words: + string = re.sub(sw+r"[\S]*$","",string) + return(string) # 返回处理以后的字符串 + if __name__ == "__main__": print("数据库工具, import用.") \ No newline at end of file diff --git a/工具v2/分类题号字典生成.py b/工具v2/分类题号字典生成.py new file mode 100644 index 00000000..cd957801 --- /dev/null +++ b/工具v2/分类题号字典生成.py @@ -0,0 +1,25 @@ +original_id_list = "1:50000" +suffix_words = ["试题",r"第[\d]*题"] +outputfilepath = "临时文件/分类题号列表.json" + +from database_tools import * + +pro_dict = load_dict("../题库0.3/problems.json") +idlist = generate_number_set(original_id_list,pro_dict) + +#记录每一个出处对应的题号列表 +setlist = {} +for id in idlist: + p = pro_dict[id]["origin"] + origin = StripSuffix(p,suffix_words) + if not origin in setlist: + setlist[origin] = [id] + else: + setlist[origin].append(id) + +outputdict = {} +for origin in setlist: + outputdict[origin] = generate_exp(setlist[origin]) + +save_dict(outputdict,outputfilepath) +print("已将结果输出至 %s"%outputfilepath) \ No newline at end of file