Câu lệnh lặp for
Vòng lặp for duyệt vùng range để thực hiện khối lệnh với số lần biết trước.
Hiểu bài
Lặp với số lần biết trước
Câu lệnh for dùng khi số lần lặp được xác định bởi một vùng giá trị hoặc một dãy. Lệnh range(10) tạo vùng gồm các số 0, 1, 2, ..., 9. Vì vậy:
S = 0
for k in range(10):
S = S + k
thực hiện 10 lần và cho tổng $0+1+\cdots+9=45$.
Cú pháp range(start, stop) trả lại các số nguyên liên tiếp từ start đến stop-1. Ví dụ range(1, n+1) tạo các số từ 1 đến $n$; range(0, 99) tạo 0 đến 98. Nếu start >= stop, vùng nhận được là rỗng. Kết hợp for với if cho phép tính tổng các số chẵn nhỏ hơn $n$ hoặc đếm các bội của 3. Bài luyện tập yêu cầu biểu diễn các dãy như 1 đến 50 bằng range() và viết chương trình tính:
$$S=1^3+2^3+\cdots+n^3.$$
Lưu đồ vòng lặp với khối lệnh ở giữa, điều kiện i < n - 1, nhánh Đúng dẫn tới i = i + 1 rồi quay lại, nhánh Sai đi xuống dưới. SGK trang 105
