Bài 4: Máy tính lặp đi lặp lại — Vòng lặp for 🔁
🎯 Mục tiêu bài học: Sau bài này, em sẽ biết dùng vòng lặp for để bảo máy tính làm một việc nhiều lần mà không cần viết đi viết lại, hiểu range(), và dùng biến đếm i.
Máy tính quay vòng và làm lại việc bên trong vòng lặp, đủ số lần thì dừng.
🤔 Vấn đề: Nếu em muốn in chữ "Xin chào!" đúng 5 lần, em có thể viết 5 dòng print. Nhưng nếu là 100 lần thì sao? Viết tay 100 dòng rất mệt! Vòng lặp ra đời để giúp ta làm việc lặp lại mà chỉ cần viết một lần.
1. Vòng lặp for là gì?
Vòng lặp (loop) là lệnh bảo máy tính lặp lại một nhóm việc nhiều lần. Vòng lặp for dùng khi ta biết lặp bao nhiêu lần.
for i in range(5): print("Xin chao!")
👉 Đọc là: "Với mỗi i trong 5 lần, hãy in Xin chao!". Câu lệnh này in 5 dòng Xin chao!
2. Chú ý dấu hai chấm và thụt lề
Hai điều bắt buộc của vòng lặp for:
• Có dấu hai chấm ( : ) ở cuối dòng for.
• Những dòng bên trong phải thụt vào (gõ phím Tab hoặc 4 dấu cách).
• Có dấu hai chấm ( : ) ở cuối dòng for.
• Những dòng bên trong phải thụt vào (gõ phím Tab hoặc 4 dấu cách).
for i in range(3): print("Xin chao!") # trong vong lap (co thut le) print("Xong roi!") # NGOAI vong lap (khong thut le)
💡 Mẹo: Phần thụt vào chính là phần nằm "bên trong" vòng lặp, được lặp lại. Dòng không thụt lề thì chỉ chạy một lần sau khi vòng lặp kết thúc.
3. range() — chọn số lần lặp
range(n) tạo ra n số, bắt đầu từ 0.
range(n) tạo ra một dãy số bắt đầu từ 0 và dừng trước số n. Ví dụ range(4) cho: 0, 1, 2, 3 (đúng 4 số).
for i in range(4): print(i)
👉 Đoán xem: câu trên in ra những số nào? → 0, 1, 2, 3 (mỗi số một dòng). Biến i giữ lần lượt từng số.
4. Dùng biến đếm i để đánh số
Biến i thay đổi mỗi vòng, nên ta có thể dùng nó để đánh số thứ tự. Muốn đếm từ 1 thay vì từ 0, ta viết i + 1.
for i in range(3): print("Lan thu", i + 1)
Kết quả: Lan thu 1, Lan thu 2, Lan thu 3. Rất tiện để đánh số thứ tự!
5. Bảng ghi nhớ
| Viết | Ý nghĩa | Kết quả |
|---|---|---|
| range(3) | 3 số bắt đầu từ 0 | 0, 1, 2 |
| range(5) | 5 số bắt đầu từ 0 | 0, 1, 2, 3, 4 |
| for i in range(3): | lặp 3 lần | chạy 3 lần |
| dấu : ở cuối | bắt đầu khối lệnh lặp | bắt buộc |
| thụt vào | việc bên trong vòng lặp | bắt buộc |
Cùng luyện tập nào! ✍
Câu 1. Câu lệnh for i in range(4): sẽ lặp bao nhiêu lần?
range(4) tạo 4 số (0, 1, 2, 3), nên vòng lặp chạy đúng 4 lần.
Câu 2. range(3) tạo ra những số nào?
range luôn bắt đầu từ 0 và dừng trước số 3, nên được 0, 1, 2.
Câu 3. Đoán xem đoạn code này in ra gì?
for i in range(2):
print("Ha")
range(2) lặp 2 lần, mỗi lần gọi print một lần → in 2 dòng "Ha".
Câu 4. Đoạn code nào bị thiếu dấu hai chấm nên sẽ báo lỗi?
Đáp án B thiếu dấu hai chấm ( : ) ở cuối, nên Python sẽ báo lỗi.
Câu 5. Muốn in Lan thu 1, Lan thu 2, Lan thu 3, ta viết gì bên trong vòng lặp for i in range(3):?
i chạy 0,1,2. Muốn đếm từ 1 ta dùng i + 1 → 1, 2, 3. Đáp án C.
💻 Phòng thí nghiệm Python — Gõ và bấm Chạy!
Thử sửa số trong range() rồi bấm Chạy xem điều gì xảy ra nhé!
(Kết quả sẽ hiện ở đây...)
📝 Thử thách mở rộng: Hãy dùng vòng lặp for in bảng cửu chương 5 (5 x 1 = 5, 5 x 2 = 10, ... 5 x 10 = 50). Gợi ý: dùng for i in range(1, 11): và in print(5, "x", i, "=", 5 * i). Thử ngay trong phòng thí nghiệm nhé!