BÀI 20. CÂU LỆNH LẶP FOR
XEM VIDEO BÀI HỌC
1. LỆNH LẶP FOR
Cú pháp:
for <biến> in range(n):
<khối lệnh>
Hoạt động:
- Biến đếm sẽ lần lượt nhận các giá trị từ 0 đến n - 1.
- Với mỗi giá trị của biến, <khối lệnh> (được viết thụt vào) sẽ được thực hiện một lần.
Ví dụ:
Thầy muốn in chữ "Xin chào" 3 lần.
for i in range(3):
print("Xin chào")
Máy tính sẽ in:
Xin chào
Xin chào
Xin chào
CÂU HỎI TRẮC NGHIỆM PHẦN 1
Câu 1: Cú pháp đúng để khai báo vòng lặp for trong Python là gì?
Câu 2: Trong câu lệnh lặp for, khối lệnh bên trong cần được trình bày như thế nào?
Câu 3: Trong câu lệnh for i in range(n):, biến đếm i sẽ nhận các giá trị trong khoảng nào?
Câu 4: Với mỗi giá trị của biến đếm trong vòng lặp, khối lệnh bên trong sẽ được thực hiện bao nhiêu lần?
Câu 5: Đoạn chương trình sau sẽ in ra màn hình bao nhiêu dòng chữ "Xin chào"?
for i in range(3):
print("Xin chào")
2. LỆNH RANGE
Dạng 1: range(n)
- Tạo dãy số bắt đầu từ 0 đến n - 1.
- Ví dụ: range(5) tạo ra dãy số: 0, 1, 2, 3, 4 (gồm 5 số).
Dạng 2: range(m, n)
- Tạo dãy số bắt đầu từ m đến n - 1 (Lưu ý: Không bao gồm số n).
- Ví dụ: range(1, 4) tạo ra dãy số: 1, 2, 3.
Ứng dụng trong vòng lặp:
Ví dụ: In các số từ 1 đến 5.
for k in range(1, 6):
print(k)
Máy tính sẽ in:
1
2
3
4
5
CÂU HỎI TRẮC NGHIỆM PHẦN 2
Câu 6: Hàm range(n) tạo ra dãy số bắt đầu từ số mấy?
Câu 7: Hàm range(m, n) sẽ tạo ra dãy số kết thúc ở giá trị nào?
Câu 8: Câu lệnh range(5) sẽ tạo ra dãy số gồm bao nhiêu số?
Câu 9: Dãy số nào sau đây được tạo ra bởi lệnh range(1, 4)?
Câu 10: Để in các số từ 1 đến 5 ra màn hình, ta cần sử dụng lệnh range nào trong vòng lặp?
3. THỰC HÀNH
Nhiệm vụ 1: In các ước số của n
Yêu cầu: Nhập số tự nhiên n, in ra các số mà n chia hết.
Cách làm:
- Cho biến k chạy từ 1 đến n (dùng range(1, n+1)).
- Kiểm tra nếu n chia hết cho k (tức là n % k == 0) thì in k ra.
- Ví dụ: Với n = 6. Máy kiểm tra 1, 2, 3, 4, 5, 6. Thấy 1, 2, 3, 6 chia hết nên in ra.
TRẮC NGHIỆM NHIỆM VỤ 1
Câu 11: Trong Python, phép toán nào dùng để kiểm tra n chia hết cho k (phần dư bằng 0)?
Câu 12: Để kiểm tra các ước số của n (bao gồm cả chính nó), vòng lặp cần chạy từ 1 đến bao nhiêu?
Câu 13: Nếu nhập n = 6, chương trình in ước số sẽ hiển thị kết quả nào?
Nhiệm vụ 2: Đếm số lượng ước số
Yêu cầu: Đếm xem số n có bao nhiêu ước số (trừ chính nó).
Cách làm:
- Dùng một biến đếm count = 0.
- Mỗi khi tìm thấy một ước số, ta tăng biến đếm lên 1 (count = count + 1).
- Ví dụ: Số 4 có ước là 1, 2, 4. Nếu chỉ đếm ước thực sự (bé hơn 4) thì đếm được 2 ước (là 1 và 2).
TRẮC NGHIỆM NHIỆM VỤ 2
Câu 14: Khi bắt đầu đếm số lượng ước số, biến đếm count thường được khởi tạo giá trị là bao nhiêu?
Câu 15: Trong vòng lặp đếm ước số, câu lệnh count = count + 1 được thực hiện khi nào?
Câu 16: Theo hướng dẫn trong bài (chỉ đếm ước thực sự bé hơn n), với n = 4 thì kết quả biến count bằng bao nhiêu?