Để duyệt qua dữ liệu trong Python, hai cấu trúc lặp phổ biến nhất mà các lập trình viên thường sử dụng là vòng lặp "for" và "while". Mỗi loại vòng lặp đều có đặc điểm riêng và thích hợp cho từng trường hợp khác nhau.
Vòng lặp "for"
Vòng lặp "for" là một công cụ mạnh mẽ và linh hoạt để lặp qua các phần tử trong bất kỳ chuỗi, danh sách, từ điển, tập hợp hay bất cứ loại kiểu dữ liệu iterable nào khác.
Cấu trúc của vòng lặp "for":
for element in iterable:
# Code to execute for each element
print(element)
Ví dụ, để lặp qua một danh sách các số và in từng số lên màn hình:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
Trong trường hợp này, "num" sẽ lần lượt nhận giá trị của từng phần tử trong danh sách "numbers".
Vòng lặp "for" cũng có thể sử dụng với hàm range()
:
Hàm range()
được sử dụng để tạo ra một dãy số từ một giá trị khởi điểm đến một giá trị kết thúc.
for i in range(5):
print(i)
Kết quả sẽ là các số từ 0 đến 4.
Vòng lặp "while"
Vòng lặp "while" tiếp tục thực hiện các lệnh bên trong nó chừng nào điều kiện cho trước còn đúng. Điều này làm cho vòng lặp "while" thích hợp cho các tình huống cần lặp đi lặp lại dựa trên một điều kiện động thay vì một dãy phần tử đã biết trước.
Cấu trúc của vòng lặp "while":
while condition:
# Code to execute while the condition is True
print(something)
Ví dụ, để lặp từ 0 đến 4:
count = 0
while count < 5:
print(count)
count += 1
Trong trường hợp này, vòng lặp sẽ dừng lại khi giá trị của count
không còn nhỏ hơn 5.
Lưu ý khi sử dụng vòng lặp "while":
Quan trọng là cần chắc chắn rằng điều kiện dừng sẽ trở thành False
để tránh tạo ra vòng lặp vô hạn.
# Vòng lặp vô hạn (dừng lại bằng cách dùng Ctrl + C)
while True:
print("This is an infinite loop!")
So sánh giữa "for" và "while"
- Vòng lặp "for" thì linh hoạt và dễ sử dụng khi cần lặp qua tất cả các phần tử trong một tập hợp.
- Vòng lặp "while" thì hữu ích cho các tình huống cần lặp dựa trên một điều kiện cụ thể mà điều kiện này có thể thay đổi trong quá trình lặp.
Các cú pháp và từ khoá bổ sung:
Từ khoá "break": Dùng để thoát khỏi vòng lặp ngay lập tức.
for i in range(10):
if i == 5:
break
print(i)
Từ khoá "continue": Dùng để bỏ qua phần còn lại của khối lệnh trong vòng lặp hiện tại và chuyển sang lần lặp kế tiếp.
for i in range(10):
if i % 2 == 0:
continue
print(i)
Từ khoá "else" với vòng lặp:
for num in numbers:
print(num)
else:
print("Done!")
Khối lệnh trong else
sẽ được thực thi khi vòng lặp kết thúc mà không bị "break".
Hiểu rõ và sử dụng thành thạo các vòng lặp này không chỉ giúp mã nguồn của bạn ngắn gọn hơn mà còn tăng hiệu quả xử lý của chương trình.
Comments