Module 8 — ทบทวน (Review)

Iterations and Collections — แบบฝึกทบทวน

ทบทวน Module 8 📝

  • Multiple Choice — เลือกคำตอบที่ถูก แล้วกดถัดไปเพื่อดูเฉลย
  • เติมคำในช่องว่าง — ลองพิมพ์ใน Live Code แล้วรัน

. . .

Note

ครอบคลุม: วนลูปบน collection · range(len()) · enumerate() · วนบน dict · collection หลายมิติ ทบทวนเนื้อหาเต็มได้ที่ Module 8 👈

Multiple Choice 🔘

เลือกคำตอบที่ถูกต้อง — เฉลยจะปรากฏเมื่อกดถัดไป

คำถาม #1

for x in [10, 20, 30]: ตัวแปร x ได้ค่าใดในแต่ละรอบ?

A. index (0,1,2)    B. ค่าสมาชิก (10,20,30)

Tip

ตอบ: B — วน for บน list ได้ ค่าสมาชิกโดยตรง

คำถาม #2

enumerate(['a', 'b']) ให้ข้อมูลในรูปแบบใด?

A. (0, 'a'), (1, 'b')    B. 'a', 'b'    C. 0, 1

Tip

ตอบ: Aenumerate() ให้คู่ (index, value)

คำถาม #3: ชวนคิด

d = {"a": 1, "b": 2}
for k in d:
    print(k)

พิมพ์อะไร?

A. 1 แล้ว 2    B. a แล้ว b    C. ('a',1)

Important

ตอบ: B — วน for บน dict โดยตรง จะได้ key (ไม่ใช่ value)

คำถาม #4

ต้องการวนเอา ทั้ง key และ value จาก dict ใช้คำสั่งใด?

A. d.keys()    B. d.values()    C. d.items()

Tip

ตอบ: Cfor k, v in d.items(): ได้ทั้ง key และ value

คำถาม #5

for i in range(len(data)): ใช้เพื่ออะไร?

A. วนตาม index ของ data    B. วนตามค่าใน data    C. นับจำนวน

Tip

ตอบ: Arange(len(data)) ให้ index 0..len-1 เพื่อเข้าถึง data[i]

คำถาม #6: ชวนคิด

students = [{"name":"A","score":80}, {"name":"B","score":90}]students[1]["score"] คือค่าใด?

A. 80    B. 90    C. "B"

Tip

ตอบ: Bstudents[1] = dict ตัวที่สอง แล้ว ["score"] = 90

คำถาม #7: ชวนคิด

for i, x in enumerate(["p", "q"]): ในรอบแรก i และ x เป็นอะไร?

A. i=0, x="p"    B. i=1, x="p"    C. i="p", x=0

Tip

ตอบ: Aenumerate เริ่ม index ที่ 0 → รอบแรก i=0, x="p"

คำถาม #8

วนลูปบน Set ได้หรือไม่ และได้อะไร?

A. ไม่ได้    B. ได้ — ได้สมาชิกทีละตัว (ไม่รับประกันลำดับ)

Tip

ตอบ: Bfor x in my_set: วนได้ แต่ Set ไม่มีลำดับ จึงไม่รับประกันลำดับที่ออกมา

เติมคำในช่องว่าง ✏️

เติมโค้ดในช่อง ____ แล้วกด Run

เติมคำ #9

วนบน list โดยตรง เพื่อพิมพ์สมาชิกทีละตัว

fruits = ["apple", "banana", "cherry"]
for f in fruits:
    print(f)
apple
banana
cherry

เติมคำ #10

ใช้ enumerate() พิมพ์ ลำดับ + ค่า

names = ["Ann", "Bob", "Cat"]
for i, name in enumerate(names):
    print(i, name)
0 Ann
1 Bob
2 Cat

เติมคำ #11

วนเอา key และ value จาก dict ด้วย .items()

scores = {"math": 80, "eng": 75}
for k, v in scores.items():
    print(f"{k}: {v}")
math: 80
eng: 75

เติมคำ #12

หา ผลรวมคะแนน โดยวนบน list

scores = [80, 90, 70]
total = 0
for s in scores:
    total += s
print(total)
240

เติมคำ #13: ชวนคิด

คำนวณ ค่าเฉลี่ยคะแนน จาก List of Dict

students = [
    {"name": "A", "score": 80},
    {"name": "B", "score": 90},
]
total = 0
for s in students:
    total += s["score"]
print(total / len(students))
85.0

เติมคำ #14: ชวนคิด

นับจำนวนคนที่ สอบผ่าน (score ≥ 50) ด้วย for + if

scores = [45, 80, 30, 60, 90]
count = 0
for s in scores:
    if s >= 50:
        count += 1
print(count)
3

จบการทบทวน 🎉

ทบทวนเนื้อหาเต็มได้ที่ Module 8