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

คุณสามารถทำการตรวจสอบการปฏิบัติตามเงื่อนไขที่กำหนดในโค้ดที่นักเรียนเขียนได้หลังจากนำเข้าไฟล์โค้ดที่เขียนของนักเรียนเข้าระบบแล้ว ตัวอย่างด้านล่างเป็นโค้ดตรวจสอบคำตอบที่ถูกต้องสำหรับการทำภารกิจเขียนสามบรรทัดโปรดดู

หลังจากนำเข้าไฟล์ที่นักเรียนเขียน (main.py) เราจะทำการตรวจสอบว่าฟังก์ชัน print() ถูกเขียนทั้งหมด 3 ครั้งหรือไม่ เพื่อใช้เป็นเกณฑ์ในการตรวจสอบคะแนนของการทำภารกิจ

import os
import subprocess
import sys
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