补全9月11日至13日课评:为13名学生创建请假文档,为5个班级创建总结文档
This commit is contained in:
@@ -22,8 +22,8 @@
|
||||
## ⚠️ 重要规则
|
||||
|
||||
1. **OJ课次编号 ≠ 大纲编号**:OJ可能跳过或重排课次,必须按**标题匹配**
|
||||
2. **只查A包(课堂练习)**:CSP03班OJ数据**只查询A作业包**,不查B/C包
|
||||
3. **A包包含多道具体题目**:每个A包通常包含3~5道具体题目(如`CSP0309A1 银行叫号模拟`、`CSP0309A2 模拟发牌`等),需在OJ板块中按具体题目列出
|
||||
2. **只查A包(课堂练习)**:CSP00/CSP04班OJ数据**只查询A作业包**,不查B/C包
|
||||
3. **A包包含多道具体题目**:每个A包通常包含3~5道具体题目(如`CSP0409A1 银行叫号模拟`、`CSP0409A2 模拟发牌`等),需在OJ板块中按具体题目列出
|
||||
4. **`hw_dict.json` 可能不准确**:如果配置的ID无数据,需要从课程页面重新查找
|
||||
|
||||
## 数据获取方式
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
```bash
|
||||
python scripts/update_feedback_with_oj.py \
|
||||
--course CSP03-<课次编号> \
|
||||
--course CSP04-<课次编号> \
|
||||
--title "<课程名称>" \
|
||||
--class-name "<班级目录名>" \
|
||||
--date <YYYYMMDD> \
|
||||
@@ -61,13 +61,13 @@ client = httpx.Client(base_url=env['OJ_BASE_URL'], follow_redirects=True)
|
||||
client.post('/login', json={"uname": env['OJ_USERNAME'], "password": env['OJ_PASSWORD']})
|
||||
|
||||
# 获取A作业包中的具体题目列表
|
||||
hw_id = "69acffac27e54d3ad7ef5013" # CSP03-10A
|
||||
hw_id = "69acffac27e54d3ad7ef5013" # CSP04-10A
|
||||
r = client.get(f'/homework/{hw_id}')
|
||||
problems = re.findall(r'href="/p/([^"?]+)\?tid=' + hw_id + r'"[^>]*><b>([^<]+)</b>(?: |\s)*([^<]*)</a>', r.text)
|
||||
# 返回: [("CSP0309A1", "CSP0309A1", "银行叫号模拟"), ...]
|
||||
# 返回: [("CSP0409A1", "CSP0409A1", "银行叫号模拟"), ...]
|
||||
```
|
||||
|
||||
## <EFBFBD><EFBFBD>业ID映射
|
||||
## 作业ID映射
|
||||
|
||||
作业ID存储在 `config/hw_dict.json`,格式为:
|
||||
|
||||
@@ -105,3 +105,16 @@ A/B/C分别对应:课堂练习 / 课后作业 / 拓展练习
|
||||
- 总题目数以OJ实际为准(不固定)
|
||||
- 如果只有1个作业包,统计该包内所有题目的完成情况
|
||||
- 如果有多个作业包,分别统计每类(课堂练习/课后作业/拓展练习)的完成情况
|
||||
|
||||
---
|
||||
|
||||
## 📌 当前学期课程定位(2026秋季 · CSP04)
|
||||
|
||||
> ⚠️ **2026秋季起 `hw_dict.json` 中 CSP04-* 已更新为新学期 ID**(旧 ID 对应历史学期,已备份至 `.claude/temp/`)。
|
||||
|
||||
- **课程**: 2026 秋季班 CSP04(20 课次,对标 GESP 四级)
|
||||
- **课程页**: https://oj.qonnwolf.com/course/6a826183bdde81887a2237b5
|
||||
- **每课 A 包(课堂练习)作业 ID 对照表**: `.claude/lesson/CSP/CSP04/OJ作业ID-2026秋.md`
|
||||
- **题号命名**: 第 N 课题目形如 `S040NP1`(P=编程题)、`S040NA6/A7`(选择/判断题,同属A包)、`S040NB*`(课后作业)、`S040NC*`(拓展练习)
|
||||
- **上课代码文件夹对照**: `C++代码/CSP04/NN/` ↔ OJ 第 NN 章(如 `C++代码/CSP04/01/` ↔ 第1课「01 基础回顾」,内含 S0401P1~P5 五道题的参考代码)
|
||||
- **查 OJ 数据流程(课评用)**: 登录后 ① 按 `OJ作业ID-2026秋.md` 取该课 A 包 tid → ② 抓 `/homework/{tid}` 题目清单与 `/record?tid={tid}` 提交记录 → ③ 按学生分析 AC/WA/提交次数。注意:A 包除 P1~P5 编程题外通常还有 A6/A7 选择判断题,也计入统计(以 OJ 实际题目数为准)。
|
||||
|
||||
Reference in New Issue
Block a user