添加录入答题纸信息.py
This commit is contained in:
parent
3c4d563f09
commit
6c0367197c
|
|
@ -0,0 +1,62 @@
|
|||
pid = "G20260201" #第一个字母是分类的代号, 1-4为数字是届别, 5-6位数字一般是学期序号(01-06), 特殊情况酌情分类, 假期作业归属于前一个学期
|
||||
xiaoxianid = "222817032234165544979" #小闲平台的试卷编号
|
||||
|
||||
|
||||
from database_tools import *
|
||||
|
||||
grade = pid[3:5]
|
||||
answersheetjson = f"../备课组/{grade}届/答题纸对应.json"
|
||||
notesjson = f"../备课组/{grade}届/校本材料.json"
|
||||
|
||||
answersheet_dict = load_dict(answersheetjson)
|
||||
notes_dict = load_dict(notesjson)
|
||||
|
||||
new_dict = {}
|
||||
|
||||
if not pid in notes_dict["notes"]:
|
||||
print("讲义编号有误.")
|
||||
else:
|
||||
new_dict["id"] = pid
|
||||
corresponding_method = input("用何种方式对应? 题号(I)/章节标题(P):")
|
||||
if corresponding_method[0].upper() == "I":
|
||||
new_dict["idlist"] = []
|
||||
count = 1
|
||||
id = input(f"输入第 {count} 题的题号(S表示跳过, E表示结束):")
|
||||
while len(re.findall(r"[Ss\d]",id)) == len(id):
|
||||
if "S" in id.upper():
|
||||
new_dict["idlist"].append("999999")
|
||||
else:
|
||||
new_dict["idlist"].append(id.zfill(6))
|
||||
count += 1
|
||||
id = input(f"输入第 {count} 题的题号(S表示跳过, E表示结束):")
|
||||
|
||||
|
||||
elif corresponding_method[0].upper() == "P":
|
||||
structure = notes_dict["structures"][pid[0]]["structure"]
|
||||
count = 1
|
||||
partslist = []
|
||||
for key in structure:
|
||||
print(f"{count}. {key}: {structure[key]['name']}")
|
||||
count += 1
|
||||
partslist.append(key)
|
||||
parts_selected_string = input("使用哪些部分(输入数字编号, 用';'分隔:")
|
||||
parts_selected_index = parts_selected_string.strip().split(";")
|
||||
parts_selected = []
|
||||
for i in parts_selected_index:
|
||||
parts_selected.append(partslist[int(i)-1])
|
||||
new_dict["parts"] = parts_selected.copy()
|
||||
|
||||
marksflag = input("是否为每个结果赋分(Y/N):")
|
||||
if marksflag[0].upper() == "Y":
|
||||
new_dict["marks"] = []
|
||||
count = 1
|
||||
mark = input(f"依次输入分数, 非自然数作为结束(第 {count} 个位置):")
|
||||
while len(re.findall(r"\d",mark)) == len(mark):
|
||||
new_dict["marks"].append(int(mark))
|
||||
count += 1
|
||||
mark = input(f"依次输入分数, 非自然数作为结束(第 {count} 个位置):")
|
||||
|
||||
|
||||
answersheet_dict[xiaoxianid] = new_dict.copy()
|
||||
save_dict(answersheet_dict,answersheetjson)
|
||||
|
||||
Reference in New Issue