Giai đoạn 1 · 30 phút · Miễn phí
Vòng lặp for và while
Lặp lại công việc với for và range(), while, cộng dồn, break và continue.
Mục tiêu
- Dùng for với range(start, stop, step)
- Dùng while với điều kiện dừng
- Viết mẫu cộng dồn
- Dùng break, continue
Vì sao cần học
Máy tính giỏi nhất là làm đi làm lại không mệt. In 100 dòng, cộng 1000 số, duyệt danh sách học viên: tất cả cần vòng lặp.
Khái niệm
for i in range(n): lặp n lần với i = 0, 1, ..., n-1. range(a, b) đi từ a đến b-1. range(a, b, buoc) nhảy theo bước.
while dieu_kien: lặp chừng nào điều kiện còn đúng. Phải có lệnh làm điều kiện dần sai, nếu không sẽ lặp vô tận (máy chấm dừng sau vài giây).
Mẫu cộng dồn: tạo tong = 0 trước vòng lặp, mỗi vòng tong = tong + gia_tri.
break thoát vòng lặp ngay; continue bỏ qua phần còn lại của vòng hiện tại.
Cú pháp
for i in range(1, 6):
print(i)
while n > 0:
n = n - 1
Ví dụ
n = int(input())
tong = 0
for i in range(1, n + 1):
tong = tong + i
print("Tổng 1 đến", n, "là", tong)Dữ liệu nhập:
5
Kết quả:
Tổng 1 đến 5 là 15
Giải thích từng dòng
- Dòng 1: n = 5.
- Dòng 2: tong bắt đầu bằng 0.
- Dòng 3: i chạy 1, 2, 3, 4, 5 (range dừng trước n + 1 = 6).
- Dòng 4: mỗi vòng cộng i vào tong: 1, 3, 6, 10, 15.
- Dòng 5: sau vòng lặp mới in (dòng này KHÔNG thụt lề).
Lỗi thường gặp
for i in range(1, 5): # muốn 1..5range dừng trước số cuối, chỉ có 1..4.
range(1, 6) hoặc range(1, n + 1)while i < 5:
print(i)Không tăng i nên lặp vô tận.
Thêm i = i + 1 trong vòng lặp.for i in range(5):
tong = 0
tong = tong + iĐặt tong = 0 trong vòng lặp làm tổng bị xóa mỗi vòng.
Đặt tong = 0 trước vòng for.Tóm tắt
- for + range để lặp số lần biết trước.
- while lặp theo điều kiện, nhớ làm điều kiện dần sai.
- Biến cộng dồn khởi tạo trước vòng lặp.
- break thoát, continue bỏ qua vòng hiện tại.
Viết code ngay trên trình duyệt, máy chấm chạy Python thật và chỉ đúng dòng sai bằng tiếng Việt.
Vào luyện tập miễn phí