更改关键字筛选题号的前面若干行, 使编辑时的界面更符合阅读习惯

This commit is contained in:
weiye.wang 2023-06-16 20:41:17 +08:00
parent 5071ec065a
commit ea334b5fb1
1 changed files with 22 additions and 3 deletions

View File

@ -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)