PyPython Lab

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

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

  1. Dòng 1: n = 5.
  2. Dòng 2: tong bắt đầu bằng 0.
  3. Dòng 3: i chạy 1, 2, 3, 4, 5 (range dừng trước n + 1 = 6).
  4. Dòng 4: mỗi vòng cộng i vào tong: 1, 3, 6, 10, 15.
  5. 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..5

range 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

Luyện tập 2 bài và 3 câu hỏi nhanh

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í