มี `student_ids` และ `scores` ยาวเท่ากัน โดยสมาชิกตำแหน่งเดียวกันเป็นนักเรียนคนเดียวกัน หากต้องรับรหัสกับคะแนนเป็นคู่ภายในลูปแต่ละรอบ ควรเขียนอย่างไร
ก`for sid in student_ids: print(sid, scores[0])` จับทุกรหัสกับคะแนนตำแหน่งแรกซ้ำในทุกรอบ
ข`for score in scores: print(student_ids[-1], score)` จับทุกคะแนนกับรหัสตำแหน่งท้ายซ้ำในทุกรอบของลูป
ค`for sid in student_ids: print(sid, scores)` ส่งลำดับคะแนนทั้งชุดคู่กับแต่ละรหัสแทนคะแนนหนึ่งค่าในแต่ละรอบ
ง`for sid, score in zip(student_ids, scores): print(sid, score)` รับรหัสและคะแนนเป็นคู่จากสองลำดับในแต่ละรอบ
เฉลยอธิบาย
`zip` ใช้จับสมาชิกจากลำดับตั้งแต่สองลำดับขึ้นไปเป็นคู่เพื่อวนพร้อมกัน จึงเหมาะกับรหัสและคะแนนที่ตรงตำแหน่งกัน วิธีที่วนรหัสแล้วส่งลำดับคะแนนทั้งชุดไม่ใช้ `zip` จับสมาชิกร่วมตำแหน่งตามหลักฐาน จึงไม่ตอบเงื่อนไขที่ต้องรับหนึ่งคู่ในแต่ละรอบ