文章目录
本文章主要是介绍在头歌平台怎么自建简单的实践项目
头歌平台:https://www.educoder.net/
自建实践项目只能是教师身份注册的账户,平台里面有很多其他优秀的项目,也可以直接使用。
平台里面也有详细的说明文档,这里就不再详细说明了,下面以一个简单的html题目为例,创建一个可以自己评分的项目。
项目创建过程
使用bootstrap5对HTML代码进行颜色设置。
1. 创建实践项目
2. 填写项目基本信息
3.上传项目代码
图片中有2个主要代码code5.html是学生要补全的作业代码,code5-test.py是用来检测学生提交代码后是否正确的验证代码,下一步将介绍这两个文件的设置。(code5.html是作业文件,代码是不全的,需要学生完成)
代码中涉及的文件路径,请查看页面的提示,这里就不详细说!!
4.新建实践关卡
填写任务,就是涉及的知识点和要完成题目的要求。
5.测评设置
这一步是最重要的一步,就要设置怎么判断学生代码对错和得分。
一般为了方便就选择测试集对比,就是code5-test.py输出的结果和预期结果对比(预期输出后面设置),详细可以查看帮助说明。
设置两个文件
这步就是选择刚才上传到代码仓库的两个文件了。
设置评测参数
判断答案的方式是与实际输出进行对比(最简单的方式)
设置预期输出的结果
这步的意思是,学生补全代码了要运行测评,测评就运行code5-test.py文件,文件运行的结果和这里的输入进行比较,如果一样就对,不一样就错误。
6.设置参考答案
根据自行需求设置即可
7.实验环境设置
这步非常重要,如果选择错误就无法运行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='')