更改关键字筛选题号的前面若干行, 使编辑时的界面更符合阅读习惯
This commit is contained in:
parent
5071ec065a
commit
ea334b5fb1
|
|
@ -2,7 +2,26 @@ import os,re,json
|
||||||
|
|
||||||
"""---设置关键字, 同一field下不同选项为or关系, 同一字典中不同字段间为and关系, 不同字典间为or关系, _not表示列表中的关键字都不含, 同一字典中的数字用来供应同一字段不同的条件之间的and---"""
|
"""---设置关键字, 同一field下不同选项为or关系, 同一字典中不同字段间为and关系, 不同字典间为or关系, _not表示列表中的关键字都不含, 同一字典中的数字用来供应同一字段不同的条件之间的and---"""
|
||||||
keywords_dict_table = [
|
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 = [
|
# 示例: keywords_dict_table = [
|
||||||
|
|
@ -26,7 +45,7 @@ filename = "文本文件/题号筛选.txt"
|
||||||
|
|
||||||
def match_condition(problem,condition_dict):
|
def match_condition(problem,condition_dict):
|
||||||
match = True
|
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]
|
cond_list = condition_dict[field1]
|
||||||
field = re.sub("\d","",field1)
|
field = re.sub("\d","",field1)
|
||||||
if type(problem[field]) == list:
|
if type(problem[field]) == list:
|
||||||
|
|
@ -39,7 +58,7 @@ def match_condition(problem,condition_dict):
|
||||||
current_match = True
|
current_match = True
|
||||||
if current_match == False:
|
if current_match == False:
|
||||||
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]
|
cond_list = condition_dict[field1]
|
||||||
field1 = field1.replace("_not","")
|
field1 = field1.replace("_not","")
|
||||||
field = re.sub("\d","",field1)
|
field = re.sub("\d","",field1)
|
||||||
|
|
|
||||||
Reference in New Issue