更改关键字筛选题号的前面若干行, 使编辑时的界面更符合阅读习惯
This commit is contained in:
parent
5071ec065a
commit
ea334b5fb1
|
|
@ -2,7 +2,26 @@ import os,re,json
|
|||
|
||||
"""---设置关键字, 同一field下不同选项为or关系, 同一字典中不同字段间为and关系, 不同字典间为or关系, _not表示列表中的关键字都不含, 同一字典中的数字用来供应同一字段不同的条件之间的and---"""
|
||||
keywords_dict_table = [
|
||||
{"content":["椭圆"],"content2":["抛物线"],"usages_not":["2023"]},
|
||||
{
|
||||
"id":[""], #题号
|
||||
"content":["椭圆"], #题面内容
|
||||
"objs":[""], #目标代码
|
||||
"tags":["第七"], #标签, 如["第二单元"]等
|
||||
"genre":[""], #题目类型, 填空题, 选择题, 解答题
|
||||
"ans":[""], #答案
|
||||
"solution":[""], #解答与提示
|
||||
"duration":[""], #解题时间(目前未设置)
|
||||
"usages":[""], #使用记录, 数据库中格式为 <日期>\t<届别><班别>\t正确率[\t正确率]... 例如"20230301\t2023届01班\t0.985\t0.211
|
||||
"origin":[""], #题目来源
|
||||
"edit":[""], #导入者及编辑者
|
||||
"same":[""], #相同题目题号
|
||||
"related":[""], #关联题目题号
|
||||
"remark":[""], #备注, 注记
|
||||
"space":[""], #解答题下的空间(em)表示一个m的宽度
|
||||
"unrelated":[""], #无关题目题号
|
||||
# "content2":["双曲线"], #在字段名中加入数字表示这个字段的另一个必要条件
|
||||
# "content_not":["焦"], #加_not表示不能出现该样式的词
|
||||
},
|
||||
]
|
||||
"""---关键字设置完毕---"""
|
||||
# 示例: keywords_dict_table = [
|
||||
|
|
@ -26,7 +45,7 @@ filename = "文本文件/题号筛选.txt"
|
|||
|
||||
def match_condition(problem,condition_dict):
|
||||
match = True
|
||||
for field1 in [c for c in condition_dict if not "_not" in c]:
|
||||
for field1 in [c for c in condition_dict if not "_not" in c and not condition_dict[c] == [""]]:
|
||||
cond_list = condition_dict[field1]
|
||||
field = re.sub("\d","",field1)
|
||||
if type(problem[field]) == list:
|
||||
|
|
@ -39,7 +58,7 @@ def match_condition(problem,condition_dict):
|
|||
current_match = True
|
||||
if current_match == False:
|
||||
match = False
|
||||
for field1 in [c for c in condition_dict if "_not" in c]:
|
||||
for field1 in [c for c in condition_dict if "_not" in c and not condition_dict[c] == [""]]:
|
||||
cond_list = condition_dict[field1]
|
||||
field1 = field1.replace("_not","")
|
||||
field = re.sub("\d","",field1)
|
||||
|
|
|
|||
Reference in New Issue