赞
踩
头歌平台:https://www.educoder.net/
自建实践项目只能是教师身份注册的账户,平台里面有很多其他优秀的项目,也可以直接使用。
平台里面也有详细的说明文档,这里就不再详细说明了,下面以一个简单的html题目为例,创建一个可以自己评分的项目。
使用bootstrap5对HTML代码进行颜色设置。
图片中有2个主要代码code5.html是学生要补全的作业代码,code5-test.py是用来检测学生提交代码后是否正确的验证代码,下一步将介绍这两个文件的设置。(code5.html是作业文件,代码是不全的,需要学生完成)
代码中涉及的文件路径,请查看页面的提示,这里就不详细说!!
填写任务,就是涉及的知识点和要完成题目的要求。
这一步是最重要的一步,就要设置怎么判断学生代码对错和得分。
一般为了方便就选择测试集对比,就是code5-test.py输出的结果和预期结果对比(预期输出后面设置),详细可以查看帮助说明。
这步就是选择刚才上传到代码仓库的两个文件了。
判断答案的方式是与实际输出进行对比(最简单的方式)
这步的意思是,学生补全代码了要运行测评,测评就运行code5-test.py文件,文件运行的结果和这里的输入进行比较,如果一样就对,不一样就错误。
根据自行需求设置即可
这步非常重要,如果选择错误就无法运行code5-test.py文件
以下是我的设置,其实就是在模拟实战中选择评测后用什么环境运行python文件。
1.我的这个项目用的了pyquery这个库文件,在选择实验环境的时候要选择有这个库文件的环境;
2.通过设置python文件的代码,实现更复杂的输出,这样降低学生作弊的概率。
3.code5.html文件代码:
<!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/data/workspace/myshixun/css/bootstrap.min.css"> <!-- <link rel="stylesheet" href="../css/bootstrap.min.css"> --> <style> div div{ border:black solid 1px; } </style> </head> <body> <!-- ********* begin ********* --> <div class="container-fluid mt-3"> <!-- 使用上下文类将 <p> 元素的文本颜色设置为“橙色”: --> <p >Hello World!</p> <!-- 使用上下文类将 <p> 元素的背景颜色设置为“浅灰色”: --> <p >Hello World!</p> </div> <!-- *********end********* --> <script src="/data/workspace/myshixun/js/bootstrap.bundle.min.js"></script> </body> </html>
4.code5.html答案代码:
<!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="/data/workspace/myshixun/css/bootstrap.min.css"> <!-- <link rel="stylesheet" href="../css/bootstrap.min.css"> --> <style> div div{ border:black solid 1px; } </style> </head> <body> <!-- ********* begin ********* --> <div class="container-fluid mt-3"> <!-- 使用上下文类将 <p> 元素的文本颜色设置为“橙色”: --> <p class="text-warning">Hello World!</p> <!-- 使用上下文类将 <p> 元素的背景颜色设置为“浅灰色”: --> <p class="bg-light">Hello World!</p> </div> <!-- *********end********* --> <script src="/data/workspace/myshixun/js/bootstrap.bundle.min.js"></script> </body> </html>
5.code5-test.py评测代码
from pyquery import PyQuery as pq def get_js(): f = open("step5/code5.html", 'r', encoding='UTF-8') line = f.readline() jsString = '' while line: jsString = jsString + line line = f.readline() return jsString def get_num(items): data=[] for i in items: data.append(i) return len(data) fileContent = get_js() doc= pq(fileContent) correctOutput1 = doc(".text-warning") correctOutput2 = doc(".bg-light") if(correctOutput1 and correctOutput2 ): print("TRUE",end='') else: print("FALSE",end='')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。