Cấu trúc lặp là một khái niệm khá quen thuộc đối với bất kỳ một lập trình viên nào đã từng học qua C/C++, Pascal, PHP,... Càng chắc chắn hơn nữa không ít lần bạn đụng độ với từ khoá while, for trong quá trình làm quen với vòng lặp trước đó. Trong Python cũng thế, tồn tại 2 cấu trúc lặp cơ bản là while và for. Qua bài viết này, tôi sẽ cùng các bạn đi tìm hiểu và khám phá sự khác biệt của cấu trúc vòng lặp for so với các ngôn ngữ nêu trên.
Python Ryan Lê 2015-08-22 15:12:22

Giới thiệu

Cấu trúc lặp là một khái niệm khá quen thuộc đối với bất kỳ một lập trình viên nào đã từng học qua C/C++, Pascal hay PHP,... Càng chắc chắn hơn nữa không ít lần bạn phải đụng độ với từ khoá như while, for trong quá trình làm quen với vòng lặp trước đó. Trong Python cũng thế, tồn tại 2 cấu trúc lặp cơ bản là whilefor. Qua bài viết này, tôi sẽ cùng các bạn đi tìm hiểu và khám phá sự khác biệt của cấu trúc vòng lặp for so với các ngôn ngữ nêu trên.

Tiền đề bài viết

Bài viết đơn thuần chia sẻ kiến thức của bản thân và trong các hoạt động chia sẻ của STDIO Training.

Đối tượng hướng đến

Bài viết hướng đến tất cả các đối tượng lập trình viên có kiến thức lập trình C++ cơ bản, muốn quan tâm và tìm hiểu về Python.

Nội dung

Sự khác nhau của for trong Python so với một số ngôn ngữ khác

Như đã nói ở phần giới thiệu, Python tồn tại 2 cấu trúc lặp cơ bản là whilefor. Cấu trúc lặp while tương tự hầu hết với các ngôn ngữ khác, trong khi đó for có đôi chút khác biệt so với những ngôn ngữ thường gặp. 

Thay vì lặp qua một dãy số như trong Pascal, hoặc cho phép người dùng có thể tự định nghĩa bước lặp và điều kiện dừng như trong C/C++, Python cho phép ta duyệt qua từng phần tử của list, tuple, string, ...

Cấu trúc vòng lặp for

Cấu trúc của vòng lặp for được thể hiện như sau:

for iterating_var in sequence: 
    statements(s)

Nguyên tắc hoạt động

Phần tử đầu tiên của sequence sẽ được gán cho iterating_var, tiếp theo là thực hiện khối lệnh bên trong for. Cứ liên tục như vậy lần lượt từng phần tử trong sequence sẽ được gán cho iterating_var và thực hiện khối lệnh sau nó. Cho đến khi thực hiện xong khối lệnh cuối cùng, tương ứng với phần tử cuối cùng trong sequence được gán cho iterating_var thì kết thúc vòng lặp.

Sơ đồ hoạt động

ss_1

Ví dụ

Cùng xem xét ví dụ sau để có thể hiểu rõ hơn về cấu trúc vòng lặp for trong Python

STDIOAuthors = \
[
	"La Kiến Vinh",
	"Vũ Quang Huy"
]

for author in STDIOAuthors:
	print (author)

Dễ dàng nhìn thấy kết quả xuất ra màn hình sẽ là:

La Kiến Vinh
Vũ Quang Huy

Hàm range

Hàm range được sử dụng để tạo ra một danh sách chứa dãy số học theo một logic. Nếu bạn cần dùng vòng lặp for để duyệt qua một chuỗi số nào đó thì range là một lựa chọn rất tốt.

Cú pháp

range([start], stop[, step])

Trong đó:

  • start là số bắt đầu của chuỗi.
  • stop là giới hạn mà chuỗi đạt tới (không bao gồm số này).
  • step là số tăng lên được của một số trong chuỗi so với số trước đó.

Một số ví dụ

Xét một số ví dụ sau về cách sử dụng hàm range:

Ví dụ 1
for i in range(4):
	print(i)

Kết quả:

0
1
2
3
Ví dụ 2
for i in range(4, 7):
	print(i)

Kết quả:

4
5
6
Ví dụ 3
for i in range(4, 13, 3):
	print(i)

Kết quả:

4
7
10