Course Graduation Exam

The Architect: Python Master

แบบทดสอบวัดระดับสูงสุด LEGO® SPIKE™ Prime (Python)

คำชี้แจง (Instruction)

Part 1: หลักการเขียนโค้ด (Python Theory)

10 คะแนน
ข้อที่ 1

คำสั่งใดถูกต้องสำหรับการ "นำเข้า" ไลบรารีของ SPIKE Prime?

ข้อที่ 2

กำหนดให้ scores = [10, 20, 30] ค่าของ scores[1] คือเท่าไหร่?

ข้อที่ 3

โค้ดส่วนนี้จะทำงานกี่รอบ?

for i in range(5):
    motor_a.run_for_seconds(1)
ข้อที่ 4

เงื่อนไขใดหมายถึง "ระยะทางน้อยกว่า 10 ซม. และ สีเป็นสีแดง"?

ข้อที่ 5

ใน Python, สิ่งใดสำคัญที่สุดในการกำหนดขอบเขตของลูปหรือฟังก์ชัน?

Part 2: Data Science Rover (Challenge)

10 คะแนน

Scenario: ยานสำรวจเก็บข้อมูล

"ยานสำรวจดาวอังคารต้องวิ่งเก็บค่าระยะทางของก้อนหิน 5 ก้อน นำมาเก็บใน List แล้วหาค่าเฉลี่ย (Average) เพื่อส่งกลับฐานโลก"

โครงสร้างโค้ด (Structure)

  • สร้าง List ว่างเปล่าชื่อ `data_log`
  • ใช้ลูป `for` จำนวน 5 รอบ
  • ในลูป: อ่านค่า Distance Sensor และ `append` ใส่ List
  • คำนวณค่าเฉลี่ย (Sum / Count)
  • แสดงผลค่าเฉลี่ยที่หน้าจอ Hub

Code Snippet Template

from spike import PrimeHub, DistanceSensor

hub = PrimeHub()
dist = DistanceSensor('A')

# 1. Create List
data_log = []

# 2. Collect Data
for i in range(5):
    # Your code here: 
    # Read distance
    # Add to list
    # Wait 1 sec

# 3. Calculate Average
# Your code here

# 4. Show Result
hub.light_matrix.write(str(average))

เกณฑ์การให้คะแนน (Rubric)

ทักษะ (Skill) คะแนน
Part 1 Theory: เข้าใจ Syntax พื้นฐานและ Logic ___ / 10
List Operations: สร้างและเพิ่มข้อมูล (append) ได้ถูกต้อง ___ / 4
Loop Implementation: เขียน For Loop ได้ถูกต้อง ___ / 3
Calculation: คำนวณค่าเฉลี่ยถูกต้อง (sum/len) ___ / 3
Total Score _____ / 20