case2. ตรวจสอบเงื่อนไขที่กำหนด

คุณสามารถทำการตรวจสอบคะแนนโดยใช้เงื่อนไขที่กำหนดเป็นหลักจากไฟล์โค้ดที่นักเรียนเขียนไว้ ตัวอย่างด้านล่างเป็นรหัสตรวจคำตอบสำหรับการทำแบบฝึกหัดที่ใช้ฟังก์ชัน 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)

Last updated