Trong lập trình, việc lặp đi lặp lại một đoạn mã nhiều lần là nhu cầu rất phổ biến, chẳng hạn như duyệt qua danh sách dữ liệu, kiểm tra điều kiện hoặc xử lý từng dòng dữ liệu. Thay vì viết lại mã nguồn thủ công, Python cung cấp hai cấu trúc lặp mạnh mẽ là for và while giúp tự động hóa công việc một cách tối ưu.
1. Vòng Lặp For Trong Python
Vòng lặp for trong Python được sử dụng để duyệt qua các phần tử của một chuỗi dữ liệu (sequence) như List, Tuple, String hoặc một tập hợp do hàm range() tạo ra.
Cú pháp cơ bản
for phan_tu in chuoi_du_lieu:
# Khối lệnh được thực thi cho mỗi phần tử
print(phan_tu)Sử dụng với hàm range()
Hàm range() rất thường được kết hợp với vòng lặp for để lặp theo số lần xác định:
# Lặp từ 0 đến 4
for i in range(5):
print("Lần lặp thứ:", i)2. Vòng Lặp While Trong Python
Khác với for, vòng lặp while sẽ liên tục thực thi khối lệnh bên trong chừng nào điều kiện kiểm tra vẫn còn duy trì giá trị True. Cấu trúc này phù hợp cho những bài toán không biết trước chính xác số lần lặp.
Cú pháp cơ bản
while dieu_kien:
# Khối lệnh thực thi khi dieu_kien là True
# Cần cập nhật biến điều kiện để tránh vòng lặp vô hạnVí dụ minh họa
count = 1
while count <= 5:
print("Giá trị count:", count)
count += 1 # Cập nhật biến đếmLưu ý: Hãy luôn đảm bảo điều kiện lặp có điểm dừng. Nếu quên cập nhật biến điều kiện (như dòng
count += 1ở trên), chương trình sẽ rơi vào trạng thái vòng lặp vô hạn (infinite loop).
3. Điều Khiển Luồng Vòng Lặp Với Break Và Continue
Python hỗ trợ hai câu lệnh đặc biệt giúp can thiệp vào tiến trình lặp thông thường:
Lệnh break
Câu lệnh break lập tức chấm dứt vòng lặp chứa nó, bỏ qua các lần lặp còn lại và chuyển hướng thực thi xuống các dòng lệnh phía sau vòng lặp.
# Tìm số đầu tiên chia hết cho 7 trong khoảng từ 1 đến 20
for i in range(1, 21):
if i % 7 == 0:
print("Tìm thấy số chia hết cho 7 đầu tiên:", i)
breakLệnh continue
Câu lệnh continue dừng lượt lặp hiện tại ngay lập tức và nhảy sang lượt lặp tiếp theo, bỏ qua các câu lệnh còn lại bên dưới trong lượt lặp đó.
# In các số lẻ từ 1 đến 5
for i in range(1, 6):
if i % 2 == 0:
continue
print("Số lẻ:", i)4. Kết Hợp Vòng Lặp Với Khối Else
Cả for và while trong Python đều có thể kết hợp với khối else. Mệnh đề else sẽ chỉ chạy khi vòng lặp kết thúc bình thường (không bị ngắt bởi câu lệnh break).
count = 0
while count < 3:
print(count)
count += 1
else:
print("Vòng lặp hoàn thành bình thường.")5. Khi Nào Nên Dùng For Hoặc While?
- Dùng vòng lặp for: Khi bạn đã biết trước số lần lặp hoặc muốn duyệt qua từng phần tử trong một danh sách, chuỗi hay tập hợp dữ liệu cụ thể.
- Dùng vòng lặp while: Khi số lần lặp phụ thuộc vào một điều kiện linh hoạt (ví dụ: chờ người dùng nhập đúng dữ liệu, đọc dữ liệu cho đến khi hết tập tin).
Kết Luận
Nắm vững cơ chế hoạt động của vòng lặp for, while cùng các lệnh điều hướng break và continue là bước quan trọng giúp bạn tối ưu hóa dòng code, xử lý khối lượng công việc lớn một cách tự động và hiệu quả. Bài tiếp theo sẽ đi sâu vào kỹ thuật xử lý chuỗi (String) tối ưu trong Python.
Nguồn tham khảo
- Vòng lặp while trong Python - QuanTriMang.com
- Lab 6: Vòng Lặp While và For trong Python - Giải Thích và ...
- Tìm hiểu vòng lặp while trong Python cho người mới bắt đầu
- Cấu trúc lặp FOR, WHILE và lệnh BREAK, CONTINUE trong ...
- Sự khác biệt giữa vòng lặp while và vòng lặp for là gì?
Nhận xét
Đăng nhận xét