Variables and Types, Operators, Math — แบบฝึกทบทวน
. . .
Note
ครอบคลุม: ตัวแปร · ชนิดข้อมูล · การแปลงชนิด · ตัวดำเนินการ · math ทบทวนเนื้อหาเต็มได้ที่ Module 3a 👈
เลือกคำตอบที่ถูกต้อง — เฉลยจะปรากฏเมื่อกดถัดไป
ข้อใด ตั้งชื่อตัวแปรไม่ได้ ใน Python?
A. var_1
B. _temp
C. 1value
D. printThis
Tip
ตอบ: C — ชื่อตัวแปร ห้ามขึ้นต้นด้วยตัวเลข
ตั้งชื่อตัวแปรว่า my-score ได้หรือไม่?
A. ใช้ได้ปกติ
B. ใช้ไม่ได้
C. ใช้ได้ถ้าค่าเป็นบวก
D. ใช้ได้ใน f-string เท่านั้น
Important
ตอบ: B — - คือเครื่องหมายลบ Python จะอ่าน my-score เป็น my - score (การลบ ไม่ใช่ชื่อตัวแปร) → ใช้ _ แทน เช่น my_score
type(10 / 2) ให้ผลเป็นชนิดใด?
A. int
B. float
C. str
D. error
Tip
ตอบ: B — การหาร / ให้ผลเป็น float เสมอ (5.0) แม้หารลงตัว
17 // 5 มีค่าเท่าใด?
A. 3.4
B. 3
C. 2
D. 3.0
Tip
ตอบ: B — // คือ floor division ตัดเศษทิ้ง ได้ int = 3
17 % 5 มีค่าเท่าใด?
A. 2
B. 3
C. 3.4
D. 0
Tip
ตอบ: A — % คือ เศษของการหาร (modulus): 17 = 5×3 + 2
2 ** 3 ** 2 มีค่าเท่าใด?
A. 64
B. 512
C. 256
D. 18
Important
ตอบ: B (512) — ** จับคู่จาก ขวา → ซ้าย จึงเป็น 2 ** (3 ** 2) = 2 ** 9 = 512
int('1234.5') ให้ผลลัพธ์ใด?
A. 1234
B. 1234.5
C. ValueError
D. 1235
Important
ตอบ: C — int() แปลง string ที่มีจุดทศนิยมไม่ได้ → ValueError (ต้องใช้ float() ก่อน)
True and False or True ให้ผลใด?
A. True
B. False
C. error
Tip
ตอบ: A (True) — and ทำก่อน or : (True and False) or True = False or True = True
math.sqrt(144) ให้ผลใด?
A. 12
B. 12.0
C. 72
D. error
Tip
ตอบ: B (12.0) — math.sqrt() คืนค่าเป็น float เสมอ
ข้อใด ใช้เป็นชื่อตัวแปรไม่ได้ เพราะเป็น keyword ของ Python?
A. sum
B. for
C. data
D. total
Important
ตอบ: B — for เป็น keyword สงวนไว้ (เช็คได้ด้วย import keyword; keyword.kwlist)
ต้องการพิมพ์ข้อความ it's ok ควรใช้ quote แบบใด?
A. 'it's ok'
B. "it's ok"
C. ทั้ง A และ B
Tip
ตอบ: B — เมื่อในข้อความมี ' ให้ครอบด้วย "..." (ไม่งั้น ' จะปิด string กลางคัน)
print('A\nB') แสดงผลอย่างไร?
A. A\nB
B. AB
C. A แล้วขึ้นบรรทัดใหม่เป็น B
D. error
Tip
ตอบ: C — \n คือ escape code ขึ้นบรรทัดใหม่ (newline)
x = 42 แล้วเขียนบรรทัดต่อมา x = "hello" — ทำได้หรือไม่?
A. ได้
B. ไม่ได้ ต้องเป็นชนิดเดิม
C. ได้ แต่ต้องแปลงก่อนด้วย str(x)
Tip
ตอบ: A — Python เป็น dynamic typing ตัวแปรเปลี่ยนไปเก็บชนิดอื่นได้
'5' + 5 ให้ผลใด?
A. 10
B. '55'
C. TypeError
D. 55
Important
ตอบ: C — str + int ทำไม่ได้ → TypeError (ต้องแปลงชนิดให้ตรงกันก่อน)
int(9.99) ได้ค่าใด?
A. 10
B. 9
C. 9.99
D. error
Tip
ตอบ: B — int() ตัดทศนิยมทิ้ง (ไม่ปัดเศษ)
type(1.23e9) คือชนิดใด?
A. int
B. float
C. str
D. error
Tip
ตอบ: B — 1.23e9 คือ scientific notation (\(1.23 \times 10^9\)) เป็น float
เติมโค้ดในช่อง ____ แล้วกด Run
เติมโค้ดให้ var1 เก็บ ผลคูณ ของ 100 กับ 2 แล้วแสดงผล
s = '3.14' (string) — เติมโค้ดเพื่อแปลงเป็น float แล้วบวกกับ 1
เติมโค้ดให้คำนวณ พื้นที่วงกลม รัศมี 5 (ใช้ math)
\[area = \pi r^2\]
x = 7 — เติม operator ให้ตรวจว่า x เป็น เลขคู่ หรือไม่ (ผลเป็น bool)
เติมโค้ดให้ s3 เก็บ 'hello' ต่อกับ 'there' โดยมีช่องว่างคั่น
เติมโค้ดคำนวณ 5! (factorial) ด้วย math
เติมโค้ดแปลง 180 องศา เป็น radian (ควรได้ค่าประมาณ \(\pi\))
โค้ดจะพิมพ์อะไร? — ทายก่อน แล้วกดถัดไปดูเฉลย
Tip
ผลลัพธ์: 16 — x = 5 → 5+3 = 8 → 8*2 = 16
Important
ผลลัพธ์: 3 1 8 — // ตัดเศษ (3) · % เศษเหลือ (1) · ** ยกกำลัง (8)
ไล่ค่าตัวแปรทีละบรรทัด
เติมค่า x หลังแต่ละบรรทัด
| บรรทัด | คำสั่ง | x |
|---|---|---|
| 1 | x = 3 |
? |
| 2 | x = x + 2 |
? |
| 3 | x = x * 4 |
? |
Tip
| บรรทัด | x |
|---|---|
| 1 | 3 |
| 2 | 5 |
| 3 | 20 |
ฝั่งขวาของ = คำนวณก่อนด้วยค่าปัจจุบัน แล้วจึงเก็บกลับเข้า x
โค้ดผิดตรงไหน — ทำไม
ได้ผลแปลก ๆ — ผิดตรงไหน?
Important
ผิด: ^ ไม่ใช่ยกกำลัง! (เป็น bitwise XOR) → ผลผิด แก้: ยกกำลังใช้ ** → area = 3.14 * radius ** 2
โจทย์คำนวณเชิงวิศวกรรม — ด้วยตัวดำเนินการและ math ที่เรียนมา
Tip
ผลลัพธ์: 440 — กฎของโอห์ม \(V = IR = 2 \times 220 = 440\) V
Important
ผลลัพธ์: 2000.0 — ความเค้น \(\sigma = F/A\) · / ให้ผลเป็น float เสมอ → 2000.0
เติมโค้ดคำนวณพลังงานจลน์ \(E_k = \tfrac12 m v^2\)
Tip
ผลลัพธ์: 36 — กำลังสูญเสีย \(P = I^2 R = 3^2 \times 4 = 36\) W
โจทย์หลายขั้น — ต้องคิดให้ครบก่อนตอบ
คิดก่อน: ไล่ตามลำดับ ** → //,* → -,+
Important
ผลลัพธ์: 6 — 2**3=8 · 8//3=2 · 2*2=4 · เหลือ 10 - 8 + 4 = 6
เติมสูตรเงินรวม \(A = P(1+r)^n\)
Important
สังเกต 1157.625 กลายเป็น 1157.6250000000002 — เป็น floating-point error (คอมพิวเตอร์เก็บ float เป็นฐานสอง แทนบางทศนิยมไม่ตรงเป๊ะ) หลักท้าย ๆ ไม่น่าเชื่อถือ · เวลาแสดงผลให้ปัดด้วย round() หรือ f'{A:.2f}' — อ่านเพิ่ม Module 3a: floating-point
ทบทวนเนื้อหาเต็มได้ที่ Module 3a · ไปต่อ Module 3b
🏠 259201 — Module 3a ทบทวน | ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเชียงใหม่