问题描述
我使用 nbgrader
和 jupyter
来创建和 autograde
分配。为了减少创建和更正分配的开销,我正在考虑依赖于单元格中累积的错误和该单元格的最大点的部分信用函数(可能是阶梯)。为了在创建作业时减少错误,我需要一个只需要导入和调用的库函数,从单元格的错误及其 nbgrader
点元数据动态返回获得的分数。
例如
import score_fct
score_fct(errors_count,get_max_points_from_cell())
在 jupyter 中运行笔记本时,您可以像调用 javascript 一样从单元格访问元数据
%%javascript
IPython.notebook.get_selected_cell().Metadata["nbgrader"]["points"]
但输出被写入浏览器的控制台。您可能可以以某种方式将其存储到内核可访问的变量中,但这并不能解决问题,我担心。
问题是,我不确定 nbgrader autograde
是否能够做到这一点,因为它是一种基于 CLI 的方法,自动对笔记本的文本版本而不是启用 HTML-JS 的版本进行自动分级,因此没有 { {1}} 魔法可用。
那么,有没有办法在 %%javascript
运行期间从当前自动分级的单元格中获取其元数据 (current_autograded_cell.Metadata["nbgrader"]["points"]
)?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)