1. Khái niệm vòng lặp For trong Python

Vòng lặp For trong Python là một câu lệnh lặp được sử dụng để thực thi các câu lệnh bên trong một cách tuần tự. Trong Python, vòng lặp For cũng được lặp theo một số lần xác định nào đó. Số lần lặp lại xác định có nghĩa là số lần lặp lại được chỉ định trước một cách rõ ràng – đây cũng là điều kiện để vòng lặp thực thi các đoạn khối lệnh bên trong vòng lặp For.

Ví dụ dưới đây sử dụng vòng lặp For trong Python để lặp và hiển thị ra giá trị của biến với điều kiện lặp trong khoảng từ 1 đến 6

# Khai bao vong lap voi dieu kien trong khoang 1 den 6
for i in range(1,6):
    # Hien thi gia tri i
    print(i) 

Kết quả:

1
2
3
4
5

Chú ý: Hàm range() trong Python sẽ chỉ lấy ra được giá trị đầu trong khoảng, nhưng lại KHÔNG lấy giá trị kết thúc trong khoảng. Vì vậy, khi khai báo range(1,6) sẽ chỉ có các giá trị từ: 1,2,3,4,5

Giải thích:

  • là biến được dùng để kiểm tra điều kiện thực thi vòng lặp For
  • range(1,6) là điều kiện lặp trong khoảng từ 1 đến 6
  • print(i) là việc thực hiện hiển thị giá trị biến i trong khi điều kiện lặp vẫn thỏa mãn (vẫn trong khoảng 1 đến 6)

Ta cũng có thể sử dụng vòng lặp For để duyệt một List, Tuple, Set trong Python.

  • Ví dụ dùng vòng lặp for để duyệt các phần tử có trong List bên dưới:
# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Coi x la cac phan tu co trong listA
for x in listA:
    # Hien thi gia tri x 
    print(x)

Kết quả:

oto
xe may
may bay
tau dien
xe dap
  • Ví dụ dùng vòng lặp for để duyệt các phần tử có trong Tuple bên dưới:
# Khai bao tuple gom 5 phan tu
tupleA = ("oto", "xe may", "may bay", "tau dien", "xe dap")

# Coi x la cac phan tu co trong tupleA
for x in tupleA:
    # Hien thi gia tri x
    print(x)

Kết quả:

oto
xe may
may bay
tau dien
xe dap
  • Ví dụ dùng vòng lặp for để duyệt các phần tử có trong Set bên dưới:
# Khai bao set gom 5 phan tu
setA = {"oto", "xe may", "may bay", "tau dien", "xe dap"}

# Coi x la cac phan tu co trong setA
for x in setA:
    # Hien thi x
    print(x)

Kết quả:

may bay
tau dien
xe dap
oto
xe may

Vòng lặp for trong Python cũng được sử dụng để lặp thông qua một chuỗi các ký tự. Ta có thể duyệt qua một chuỗi từ ký tự đầu tiên đến ký tự cuối cùng của chuỗi với vòng lặp đơn giản như sau:

# Khai bao chuoi
txt = "Hello"

# Coi x la cac ky tu co trong chuoi
for x in txt:
    # Hien thi ra ky tu x
    print(x)

Kết quả:

H
e
l
l
o

2. Câu lệnh IF ELSE trong vòng lặp For

Tương tự như việc sử dụng câu điều kiện IF-ELSE trong vòng lặp while. Câu lệnh điều kiện IF – ELSE cũng được sử dụng trong vòng lặp For để sử dụng vào mục đích để kiểm tra một điều kiện lặp hoặc chúng cũng có thể được sử dụng để lọc ra những giá trị cần lặp.

Ví dụ dưới đây, sử dụng câu điều kiện IF trong vòng lặp For để hiển thị ra các số chẵn có trong khoảng từ 1 đến 6 như sau:

# Khai bao vong lap voi dieu kien trong khoang 1 den 6
for i in range(1,6):
    # Neu i la so chan
    if i % 2 == 0:
        # Hien thi gia tri i
        print(i)

Kết quả:

2
4

Chúng ta có thể sử dụng kèm theo từ khóa break trong vòng lặp để kết thúc sớm vòng lặp ngay cả khi điều kiện lặp trong khoảng vẫn thỏa mãn:

# Khai bao vong lap voi dieu kien trong khoang 1 den 6
for i in range(1,6):
    # Hien thi gia tri i
    print(i) 
    # Neu i bang 3
    if (i == 3):
        # Ket thuc vong lap bang break
        break

Kết quả:

1
2
3

Khi việc thực hiện lặp trong vòng lặp For hoàn thành, ta cũng có thể sử dụng câu lệnh ELSE cho trường hợp ngược lại của vòng lặp. Trường hợp này nghĩa là việc thực hiện các câu lệnh ngay sau khi vòng lặp được thực thi xong.

# Khai bao vong lap voi dieu kien trong khoang 1 den 6
for i in range(1,6):
    # Hien thi gia tri i
    print(i)
else:
    # Hien thi sau khi vong lap for thuc hien xong
    print("Vong lap da thuc hien thanh cong")

Kết quả:

1
2
3
4
5
Vong lap da thuc hien thanh cong

3. Vòng lặp For lồng nhau trong Python

Vòng lặp For lồng nhau là việc khai báo và sử dụng một vòng lặp For khác trong vòng lặp ban đầu. Vòng lặp For bên trong sẽ được thực hiện một lần cho mỗi lần lặp lại vòng lặp bên ngoài.

Ví dụ dưới đây sử dụng vòng lặp For lồng nhau để hiển thị ma trận hình vuông ngôi sao trong Python có kích thước 3 x 3 (3 hàng, 3 cột)

# Duyet qua hang 1 den hang 3
for row in range(1, 4):
    # Duyet qua cot 1 den cot 3
    for col in range(1, 4):
        # Hien thi ngoi sao
        print("*", end=" ");
    # Xuong mot dong khi duyet xong 1 hang    
    print()

Kết quả:

* * *
* * *
* * *

Ví dụ tiếp theo, sử dụng vòng lặp For lồng nhau để duyệt cùng một lúc hai List và hiển thị từng màu ở ListA cho từng phương tiện tương ứng ở ListB như sau:

# Khai bao list mau
listA = ["xanh", "do", "vang"]

#Khai bao list phuong tien
listB = ["xe dap", "xe may", "xe hoi"]

# Coi x la phan tu trong listA
for x in listA:
  # Coi y la phan tu trong listB
  for y in listB:
    # Hien thi cac cap phan tu trong listA va listB
    print(x, y)

Kết quả:

xanh xe dap
xanh xe may
xanh xe hoi
do xe dap
do xe may
do xe hoi
vang xe dap
vang xe may
vang xe hoi

4. Vòng lặp For vô hạn trong Python

Vòng lặp vô hạn cũng tồn tại ở trong vòng lặp for. Để tạo một vòng lặp for vô hạn trong Python ta chỉ tạo ra một điều điều kiện luôn đúng (True) và đặt chúng làm điều kiện lặp.

Ví dụ tạo một vòng lặp for vô hạn được sử dụng để hiển thị ra các số từ 1 đến dương vô cùng như sau:

l = [1]

for x in l:
    l.append(x + 1)
    print(x)

Đoạn lệnh trên được thực thi để thêm một phần tử mới vào trong List, tuy nhiên việc thêm phần tử mới vào List không có điểm dừng bởi vì điều kiện x in l luôn là True. Và như vậy, vòng lặp for ở trên cứ tự động thêm và lặp lại việc thêm phần tử vào trong List một cách vô hạn.

Kết quả là chương trình chạy vô hạn lần lặp và chương trình này sẽ được dừng lại khi sảy ra việc tràn bộ nhớ, hoặc khởi động lại.

Chú ý:  Khi cần sử dụng đến vòng lặp trong Python, việc đầu tiên ta cần chú ý đến đó là điều kiện kết thúc vòng lặp để tránh gây ra vòng lặp vô hạn!