Bài 24. Vòng lặp for
Bài này giới thiệu vòng lặp for trong Python - cách để yêu cầu máy tính lặp lại một thao tác nhiều lần mà không phải viết đi viết lại cùng một dòng lệnh, thông qua hàm range().
- Cánh DiềuTin học 10 - Chủ đề F · Bài 8. Câu lệnh lặptr. 80
- Kết nối tri thứcTin học 10 - Bài 20. Câu lệnh lặp fortr. 105–107
Bắt đầu bằng một hình dung
Hãy hình dung một người phụ trách một lớp học gồm 40 người, và mỗi buổi cần điểm danh: gọi tên người thứ nhất rồi đánh dấu có mặt, gọi tên người thứ hai rồi đánh dấu, cứ thế lần lượt cho đến người cuối cùng. Đây là một công việc lặp lại: thao tác thực hiện (gọi tên, đánh dấu) giống hệt nhau ở mọi lần, chỉ khác nhau ở việc đang xét đến ai trong danh sách. Nếu phải mô tả riêng từng bước cho cả 40 người thì rất dài dòng. Trong lập trình cũng vậy - khi một việc cần lặp lại nhiều lần theo đúng một cách, ta không viết lại nhiều lần cùng một đoạn lệnh, mà dùng vòng lặp để máy tính tự thực hiện việc đó, lần lượt cho từng phần tử.
Nội dung bài học
- Vì sao cần vòng lặp?
- Cú pháp vòng lặp for với range()
Tóm tắt lý thuyết cần nhớ
- Khi một việc cần lặp lại nhiều lần theo cùng một cách, hãy dùng vòng lặp thay vì viết lại nhiều dòng lệnh giống nhau.
for i in range(n):cho i chạy từ 0 đến n-1;range(a, b)chạy từ a đến b-1;range(a, b, step)chạy với bước nhảy step, và luôn dừng TRƯỚC giá trị cuối.- Khối lệnh bên trong for bắt buộc phải thụt lề thống nhất; biến chạy i tự thay đổi giá trị sau mỗi vòng lặp.
- Vòng lặp for thường dùng để in dãy số, tính tổng (cộng dồn qua biến tích lũy), hoặc đếm.
Thuật ngữ tiếng Anh trong bài
| Tiếng Anh | Đọc là | Nghĩa |
|---|---|---|
| for | pho | vòng lặp for Lệnh bảo máy làm đi làm lại một việc đúng số lần - như đếm từ 1 đến 10. |
| range | rên-chờ | hàm tạo dãy số (range) Tạo ra một dãy số liên tiếp để dùng cho vòng lặp for. |
| loop | lúp | vòng lặp Bảo máy làm lại một việc nhiều lần - giống em chạy nhiều vòng quanh sân trường. |
Câu hỏi trắc nghiệm có đáp án
Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 27 câu, chấm điểm tự động và giải thích từng câu sai.
for i in range(5): cho biến i lần lượt nhận những giá trị nào?- 0, 1, 2, 3, 4, 5
- 1, 2, 3, 4, 5
- 0, 1, 2, 3, 4
- 1, 2, 3, 4
- Đặt trong dấu ngoặc nhọn { }
- Thụt lề (indent) so với dòng for
- Viết trên cùng một dòng với for, cách nhau bằng dấu phẩy
- Không cần quy tắc gì đặc biệt
range(2, 9, 2) sẽ cho biến chạy nhận những giá trị nào?- 2, 4, 6, 8
- 2, 3, 4, 5, 6, 7, 8
- 2, 4, 6
- 0, 2, 4, 6, 8
- a)
for i in range(5):sẽ cho i lần lượt nhận các giá trị 0, 1, 2, 3, 4.Đúng - b)
range(1, 10)cho i chạy đến hết giá trị 10, tức có tính cả số 10.Sai - c)Trong vòng lặp for, khối lệnh muốn lặp lại phải thụt lề đồng nhất so với dòng bắt đầu bằng for.Đúng
- d)Vòng lặp for chỉ có thể dùng để in dãy số, không thể dùng để tính tổng hoặc đếm.Sai
- (a) Đúng - range(5) tương đương range(0, 5), cho i chạy từ 0 đến 4, đúng 5 giá trị.
- (b) Sai - range(1, 10) dừng lại TRƯỚC 10, tức i chạy từ 1 đến 9, không bao gồm 10.
- (c) Đúng - Python dựa vào thụt lề để xác định khối lệnh thuộc vòng lặp; thụt lề phải thống nhất.
- (d) Sai - vòng lặp for còn dùng để tính tổng (cộng dồn qua từng vòng) và đếm (đếm số phần tử thỏa mãn điều kiện), không chỉ để in dãy số.
Thử ngay: minh hoạ từng bước
Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.
Học trọn bài này trong ứng dụng
Bài giảng đầy đủ, 27 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.
Phần học miễn phí, không cần tạo tài khoản.
Bài liên quan - Lập trình, Thuật toán & CTDL (KHMT)
Cùng mạch kiến thức với bài này, học nối tiếp cho chắc phần lí thuyết.