基于doctest的Python程序自动评测方法研究
2021-04-29亓雪冬葛元康
微型电脑应用 2021年4期
关键词:程序
亓雪冬, 葛元康
(中国石油大学(华东) 1.信息化建设处; 2.计算机科学与技术学院, 山东 青岛 266580)
0 引言
近年来,Python语言以其简洁的语法、灵活的交互性与动态性和丰富的第三方程序库等特点快速被国内外高校所认可。嵩天等提出,Python语言是程序设计课程教学改革的理想选择[1]。众多高校中开设了大量以Python语言为载体的程序设计类课程,以我校为例,2019—2020学年约12个专业(20多个班级)在全校公共基础课《程序设计》课程中,将授课编程语言改变为Python。新的选择给教学工作带来机遇的同时也带来了挑战。
程序自动评测系统能够快速对学生编写的程序进行自动评判[2-3],实现了批改和反馈的自动化[4-5],是程序设计类课程教学实践环节不可或缺的教学工具,是提高学习效率、保障教学效果和提升教学质量的重要技术手段。因此,研究Python程序自动评判方法对于教学改革具有重要的现实意义。本文在充分研究Python标准库原有测试模块doctest的基础上,根据教学实践环节的实际需求,提出了扩展和改造doctest编程模型的思路和方法,实现了Python程序的全自动评判。
1 doctest自动化测试工具
doctest是Python标准库中的自动化测试模块,根据编写在文档字符串中的测试用例对待测试模块的功能进行测试。文档字符串(DocStrings)是Python模块、类或函数定义中的起始语句,可看作多行注释,定界符为三个单引号(' ' ')或者三个双引号(""")。将测试用例放入文档字符串中,易于查看和修改。测试用例格式与Python交互式环境中执行语句的格式完全一致。……
登录APP查看全文
