Khái niệm vòng lặp for trong Python
Bạn đã bao giờ tự hỏi "For trong Python là gì?" Đúng không? Vòng lặp for trong Python tương tự như vòng lặp while, được sử dụng để lặp lại một hay nhiều câu lệnh, đoạn lệnh. Tuy nhiên, vòng lặp for được sử dụng khi chúng ta đã biết trước số lần lặp, khác với vòng lặp while không biết trước số lần lặp.
Cú pháp cơ bản của vòng lặp for
for i in S: statements
Trong đó:
- for: từ khóa vòng lặp
- i là biến chạy vòng lặp
- S có thể là một list, String, khoảng giá trị, …
- statements: Các câu lệnh được thụt lề và lặp lại
Sơ đồ hoạt động của vòng lặp for
Quy trình thực hiện vòng lặp for:
- Bước 1: Khởi tạo giá trị biến lặp, chỉ thực hiện 1 lần duy nhất
- Bước 2: Kiểm tra điều kiện lặp, nếu điều kiện sai => Chuyển sang Bước 5
- Bước 3: Thực hiện câu lệnh lặp
- Bước 4: Cập nhật giá trị biến lặp => Quay lại Bước 2
- Bước 5: Kết thúc vòng lặp
Ví dụ cơ bản về vòng lặp for
for i in range(6): print(i)
Kết quả: 0 1 2 3 4 5
Một số thao tác thường sử dụng trong vòng lặp for
Ngoài việc lặp các hành động đơn thuần theo điều kiện, chúng ta có thể kết hợp câu lệnh lặp for với một số câu lệnh, điều kiện đặc biệt để xử lí các yêu cầu phức tạp hơn.
Vòng lặp for với break
Rất nhiều người đặt ra câu hỏi "Vòng lặp for kết thúc khi nào?". Ngoài việc dừng khi điều kiện trả về giá trị false thì có cách nào khác để kết thúc vòng lặp for hay không?
Một cách đơn giản nhất để dừng vòng lặp giữa chừng đó là sử dụng câu lệnh break. Khi gặp câu lệnh break thì vòng lặp có thể dừng lại ngay cả khi điều kiện là đúng.
Ví dụ:
for i in range(10): if i == 5: break print(i)
Kết quả: 0 1 2 3 4
Ở vòng lặp trên, kiểm tra nếu i=5 thì sẽ thực hiện câu lệnh break thoát khỏi vòng lặp mặc dù chưa lặp hết đến 9.
Vòng lặp for với continue
Khác với việc dừng và thoát hoàn toàn khỏi vòng lặp, thì việc bỏ qua một lần lặp được thể hiện khá thường xuyên trong quá trình lặp. Để thực hiện điều này, chúng ta sử dụng câu lệnh continue trong vòng lặp.
Ví dụ:
for i in range(10): if i == 5: continue print(i)
Kết quả: 0 1 2 3 4 6 7 8 9
Ở vòng lặp trên, Kiểm tra nếu i=5 thì sẽ thực hiện câu lệnh continue bỏ qua lần lặp hiện tại và sang lần lặp tiếp theo.
Vòng lặp for với else
Vòng lặp for else được sử dụng để xử lí các hành động khi kết thúc vòng lặp.
Vòng lặp for sẽ kết thúc khi điều kiện trả về False. Nhưng nếu bạn vẫn muốn xử lí một hành động nào đó khi điều kiện sai thì có thể sử dụng kết hợp với else.
Ví dụ:
for i in range(10): if i == 5: continue print(i) else: print("End")
Kết quả: 0 1 2 3 4 6 7 8 9 End
Nếu như sử dụng vòng lặp for với câu lệnh break thì các câu lệnh trong else sẽ không được thực hiện.
Vòng lặp lồng nhau
Tương tự vòng lặp while, chúng ta cũng có thể đặt lồng các vòng lặp for vào nhau.
Ví dụ 1:
n = int(input("Nhập chiều cao n=")) for i in range(n): for j in range(n): if j == 0 or i == j or j == n-1: print("*", end=" ") else: print(" ", end=" ") print()
Kết quả:
Nhập chiều cao n=8
Ví dụ 2:
n = int(input("Nhập chiều cao n=")) for i in range(n): for j in range(n): if j == 0 or i == j or j == n-1: print("", end=" ") else: print("", end=" ") print()
Kết quả:
Nhập chiều cao n=5
Vòng lặp for với danh sách
Để duyệt các phần tử trong một danh sách, một tuple, một dictionary ta thường sử dụng vòng lặp for.
Ví dụ:
l1 = [-1, 'hi', 5, 3, '25', 19, 'abc', 50] for i in l1: print(i)
Kết quả: -1 hi 5 3 25 19 abc 50
Các thao tác khác
Ngoài các thao tác trên, chúng ta có thể kết hợp vòng lặp for với các cấu trúc điều khiển khác trong lập trình Python như kết hợp với vòng lặp while, cấu trúc rẽ nhánh… Việc kết hợp này giúp phương trình có thể xử lí nhiều tác vụ phức tạp mà một vòng lặp while đơn giản không thể xử lí được.
Một số bài tập vòng lặp for trong Python
Một số bài tập sử dụng vòng lặp for để luyện tập lập trình với vòng lặp for:
- Bài 1. Tính tổng n số chẵn đầu tiên
- Bài 2. Tính tổng n số lẻ đầu tiên
- Bài 3. Tính tích n số chẵn đầu tiên
- Bài 4. Tính tích n số lẻ đầu tiên
- Bài 5. Tính n!
Lời Kết
Vòng lặp for trong Python chính là một công cụ đơn giản mà mạnh mẽ hỗ trợ bạn xử lí các vấn đề lặp, tự động công việc từ đơn giản đến phức tạp. Bài viết đã cung cấp rất chi tiết về các khía cạnh của vòng lặp for trong Python. Hãy tìm hiểu thật kĩ và áp dụng những kiến thức trên vào chương trình của bạn nhé! Chúc các bạn thành công!
Nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình online tại ICANTECH nhé.
Nguồn ảnh: ICANTECH.