คุณสามารถทำการตรวจสอบคะแนนโดยใช้เงื่อนไขที่กำหนดเป็นหลักจากไฟล์โค้ดที่นักเรียนเขียนไว้
ตัวอย่างด้านล่างเป็นรหัสตรวจคำตอบสำหรับการทำแบบฝึกหัดที่ใช้ฟังก์ชัน print()
เพื่อสร้างบทประพันธ์สามบรรทัด
เมื่อไฟล์ที่นักเรียนเขียน (main.py) ถูกโหลดเข้ามา ระบบจะทำการตรวจคำตอบด้วยเงื่อนไขว่าฟังก์ชัน print()
ถูกนำมาใช้แล้วทั้งหมด 3 ครั้งหรือไม่
import os
import subprocess
import sys
from testcases import *
sys.path.append(os.getcwd())
from grader_elice_utils import EliceUtils # isort:skip
elice_utils = EliceUtils()
elice_utils.secure_init()
try:
total_score = 0
# ตรวจสอบว่าฟังก์ชัน print() ถูกนำมาใช้แล้ว 3 ครั้งหรือไม่
count = 0
with open("main.py") as ans:
datafile = ans.readlines()
for line in datafile:
if 'print' in line:
count += 1
if count >= 3:
total_score += 100
elice_utils.secure_send_grader('✅ ถูกต้อง! คุณใช้ print() เพื่อสร้างบทประพันธ์สามบรรทัดที่น่าประทับใจ! \n')
else:
elice_utils.secure_send_grader('❌ ผิดพลาด! โปรดใช้ print() 3 ครั้งเพื่อสร้างบทประพันธ์สามบรรทัด\n')
# ส่งคะแนนการทำแบบฝึกหัด
total_score = int(total_score)
elice_utils.secure_send_score(total_score)
except Exception as err:
elice_utils.secure_send_grader('เกิดข้อผิดพลาดระหว่างการตรวจคะแนน โปรดตรวจสอบว่าโค้ดถูกส่งมาในรูปแบบที่ถูกต้องหรือไม่\n')
elice_utils.secure_send_score(0)
sys.exit(1)