Vòng lặp là một trong những khái niệm cơ bản của ngôn ngữ lập trình. Vòng lặp được sử dụng để thực hiện các tác vụ lặp đi lặp lại cho đến khi một điều kiện nhất định được đáp ứng.

Có hai cấu trúc lặp chính trong Python cho phép bạn lặp lại một khối code nhiều lần, đó là for và while.

Trong bài viết này, chúng ta sẽ đề cập đến những điều cơ bản về vòng lặp for trong Python. Chúng ta sẽ tìm hiểu làm thế nào để sử dụng các loại range để tạo ra một chuỗi các con số, và elsebreak và continue để thay đổi flow của một vòng lặp.

Python for

Vòng lặp for bằng Python lặp qua các index của một chuỗi và liên tục thực hiện một khối lệnh.

Vòng lặp for Python có dạng sau:

for item in sequence:
  statements

Câu lệnh for bắt đầu bằng từ khóa for, sau đó là một biến ( item ) để gán từng index của chuỗi cho (mục tiêu điều khiển vòng lặp), tiếp theo là từ khóa in và cuối cùng là chuỗi. Mỗi câu lệnh điều kiện kết thúc bằng dấu hai chấm ( :).

Các khối statements bắt đầu với một thụt đầu dòng và kết thúc với dòng bỏ thụt lề đầu tiên. Hầu hết mọi người chọn sử dụng thụt lề 4 dấu cách hoặc 2 dấu cách. Hướng dẫn style chính thức cho Python khuyến nghị sử dụng 4 dấu cách cho mỗi mức thụt lề và tránh kết hợp việc sử dụng các tab và dấu cách để thụt lề.

Đây là một ví dụ:

berries = ["Blueberry", "Raspberry", "Strawberry"]

for berry in berries:
  print(berry)

Output:

Blueberry
Raspberry
Strawberry

Bạn có thể lặp qua bất kỳ chuỗi nào như string, list, dict hoặc tuple.

Trong đoạn code dưới đây, chúng ta đang lặp lại các ký tự trong chuỗi ‘linux’:

for x in 'linux':
  print(x)

Output:

l
i
n
u
x

Khi lặp qua dict, biến được gán cho key:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(key)

Output:

Blueberry
Raspberry
Strawberry

Để truy cập các giá trị của từ điển, hãy sử dụng index của key:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(berries[key])

Một tùy chọn khác để lặp lại các giá trị của dict là sử dụng hàm values():

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for value in berries.values():
  print(value)

Đầu ra của cả hai ví dụ đều giống nhau:

100
125
150

Hàm range()

Phương thức range() khởi tạo Python cho phép bạn tạo một chuỗi các số nguyên bằng cách xác định điểm bắt đầu và điểm kết thúc của phạm vi. range()hoạt động khác nhau trong Python 2 và 3. Trong bài viết này, chúng ta đang sử dụng Python 3.

range()thường được sử dụng với vòng lặp for để lặp qua một chuỗi số. Đây là một Python tương đương với vòng lặp for C-style .

Khi chỉ một đối số được đưa ra, range trả về một chuỗi số, tăng thêm 1, bắt đầu từ 0 đến argument - 1:

for i in range(3):
  print(i)

Output:

0
1
2

Khi hai đối số được cung cấp, range trả về một chuỗi số, tăng thêm 1, bắt đầu từ đối số đầu tiên đến second argument - 1:

for i in range(3, 5):
  print(i)

Output:

3
4

Đối số thứ ba cho phép bạn chỉ định giá trị gia tăng:

for i in range(0, 16, 5):
  print(i)

Output:

0
5
10
15

Vòng lặp lồng nhau

Một vòng lặp lồng nhau là một vòng lặp bên trong một vòng lặp khác. Chúng thường được sử dụng để xử lý đối tượng có thể lặp lại có chứa các phần tử có thể lặp lại:

for i in range(0, 6):
  for j in range(0, 6):
    print('%d + %d = %d' % (i, j, i+j))

Output:

0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10

Câu lệnh breakcontinue

Các câu lệnh break và continue cho phép bạn kiểm soát việc thực hiện vòng lặp for.

break

Câu lệnh break kết thúc vòng lặp hiện tại và chuyển điều khiển chương trình đến câu lệnh tiếp theo vòng lặp. Khi được sử dụng bên trong một vòng lặp lồng nhau, câu lệnh break kết thúc vòng lặp trong cùng.

Trong ví dụ sau, chúng tôi đang sử dụng câu lệnh if để chấm dứt việc thực thi vòng lặp khi mục được lặp hiện tại bằng ‘Raspberry’:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)

Output:

Blueberry

continue

Câu lệnh continue thoát khỏi vòng lặp hiện tại và chuyển điều khiển chương trình cho lần lặp tiếp theo của vòng lặp. Vòng lặp không được kết thúc; chỉ lặp lại hiện tại bị bỏ qua.

Trong ví dụ sau, chúng ta đang lặp lại một loạt các số. Khi mục được lặp hiện tại bằng ‘3’, câu lệnh continue sẽ khiến việc thực thi quay trở lại phần đầu của vòng lặp và tiếp tục với lần lặp tiếp theo:

for i in range(1, 6):
  if i == 3:
    continue
  print(i)

Ouput:

1
2
4
5

Else

Trong Python, for vòng lặp có thể có else tùy chọn .

Câu lệnh else được thực hiện khi vòng lặp kết thúc bình thường, tức là khi tất cả iterables đã được lặp hết:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  print(i)
else:
  print('Loop completed.')

Output:

Blueberry
Raspberry
Strawberry
Loop completed.

Khi vòng lặp được kết thúc bằng câu lệnh break hoặc continueelse không được thực thi:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
else:
  print('Loop completed.')

Output:

Blueberry

Phần kết luận

Vòng lặp for Python được sử dụng để thực thi lặp đi lặp lại một khối code trong một số lần cố định.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng để lại bình luận.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments