Hướng dẫn vòng lặp trong python



Vòng lặp for trong python được sử dụng để lặp một biến qua một dãy (List hoặc String) theo thứ tự mà chúng xuất hiện. Vòng lặp for trong python được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vong lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while.

Sau đây là cú pháp của vòng lặp for trong python:

for bien_vong_lap in day_sequense::
    // khối lệnh

Hướng dẫn vòng lặp trong python

Nếu một mảng day_sequense gồm một danh sách các biểu thức, nó được ước lượng đầu tiên. Sau đó, item đầu tiên trong mảng được gán cho biến vòng lặp bien_vong_lap. Tiếp theo, các khối lệnh bên trong vòng lặp được thực thi và khối lệnh này được thực thi tới khi mảng này đã được lặp xong.

Dưới đây là ví dụ minh họa vòng lặp for trong Python:

# Ví dụ lặp một chuỗi
for letter in "Python":
    print ("Chữ cái hiện tại:", letter);

# Ví dụ lặp một mảng
fruits = ['chuối', 'táo',  'xoài']
for fruit in fruits:
    print ("Bạn có thích ăn:", fruit);

Kết quả:

Chu cai hien tai: P
Chu cai hien tai: y
Chu cai hien tai: t
Chu cai hien tai: h
Chu cai hien tai: o
Chu cai hien tai: n
Bạn có thích ăn: chuối
Bạn có thích ăn: táo
Bạn có thích ăn: xoài


Lặp qua index của mảng

Một cách khác để lặp qua mỗi item là bởi chỉ mục index bên trong mảng đó. Bạn theo dõi ví dụ đơn giản sau:

# Ví dụ lặp một mảng
fruits = ['chuối', 'táo',  'xoài']
for index in range(len(fruits)):
    print ("Bạn có thích ăn:", fruits[index]);

Kết quả:

Bạn có thích ăn: chuối
Bạn có thích ăn: táo
Bạn có thích ăn: xoài

Ở đây, chúng ta sử dụng hàm len(), có sẵn trong Python, để cung cấp tổng số phần tử trong tuple cũng như hàm range() để cung cấp cho chúng ta dãy thực sự để lặp qua đó.


Python cho phép bạn có một lệnh else để liên hợp với một lệnh vòng lặp.

  • Nếu câu lệnh else được sử dụng với vòng lặp for, thì câu lệnh else được thực thi khi vòng lặp kết thúc.
  • Nếu câu lệnh else được sử dụng với vòng lặp while, câu lệnh else được thực thi khi điều kiện là false.

for num in range(10, 21):    #lặp num từ 10 tới 20
    for i in range(2, num):  #lặp i từ 2 tới num - 1
        if num % i == 0:     #num có chia hết cho i hay không
             print ("%d không phải là số nguyên tố." %(num));
             break;          # thoát vòng lặp for hiện tại
    else:                    # else là một phần của vòng lặp for
         print ("%d là số nguyên tố" %(num));

Kết quả:

10 không phải là số nguyên tố.
11 là số nguyên tố
12 không phải là số nguyên tố.
13 là số nguyên tố
14 không phải là số nguyên tố.
15 không phải là số nguyên tố.
16 không phải là số nguyên tố.
17 là số nguyên tố
18 không phải là số nguyên tố.
19 là số nguyên tố
20 không phải là số nguyên tố.



Vòng lặp for là một kỹ năng lập trình thiết yếu. Hãy cùng THPT Sóc Trăng học cách sử dụng Loops trong Python nhé!

Hướng dẫn vòng lặp trong python

Giống như mọi ngôn ngữ lập trình khác, vòng lặp trong Python là cách tuyệt vời để không phải viết lại code. Tuy nhiên, khác vòng lặp while của Python, vòng lặp for là một câu lệnh dòng điều khiển cuối cùng, cho bạn nhiều thẩm quyền hơn trên mỗi mục trong seri.

Dù mới bắt đầu hay đã có chút kinh nghiệm về Python thì việc nắm chắc các vòng lặp for là chìa khóa để giải quyết các vấn đề liên quan tới dãy dữ liệu. Giờ hãy cùng nhau tìm hiểu cách thức vòng lặp for hoạt động trong Python cùng một số ví dụ về cách bạn có thể sử dụng nó để giải quyết các thách thức về mã hóa.

Bạn đang xem: Cách dùng vòng lặp for trong Python

Nội dung

  • 1 Cách thức hoạt động của vòng lặp for trong Python
  • 2 Cách sử dụng vòng lặp for của Python – Ví dụ thực tế
  • 3 Sử dụng vòng lặp for với chuỗi List và String trong Python
    • 3.1 Sử dụng Python để tạo vòng lặp với một array
    • 3.2 Sử dụng Nested cho vòng lặp trong Python

Vòng lặp for của Python hoạt động bằng cách lặp qua chuỗi của một mảng (array). Về cơ bản, nó hữu ích khi xử lý các chuỗi, danh sách, từ điển, tập hợp hoặc bộ giá trị. Từ khóa in thường theo sau vòng lặp for trong Python.

Một vòng lặp for có đặc điểm tương tự trong tất cả ngôn ngữ lập trình. Ví dụ, dù có sự khác biệt về cú pháp, đặc điểm vòng lặp for của Java tương tự của Python.

Cú pháp chung của một Python cho vòng lặp for như sau:

for new_variable in parent_variable:
execute some statements

Như đã nói từ đầu, khác while, vòng lặp for mạnh hơn nên nó cung cấp nhiều quyền kiểm soát luồng hơn.

Cụ thể, một vòng for giống như câu lệnh: “for every male student you meet in a class, write down one, else, write down it’s a class of females only.”

Câu lệnh này giống như một hướng dẫn đơn giản, cho bạn biết bạn cần viết tên từng nam sinh đã gặp trong một lớp học cụ thể. Nó là một vòng lặp liên tục. Tuy nhiên, để bắt đầu vòng lặp for trong trường hợp này, bạn phải gặp một học sinh nam. Nếu không, sau đó, bạn phải viết câu lệnh else (nếu không).

Nếu câu lệnh trên không có điều kiện else, bạn sẽ không cần phải viết thêm bất điều gì sau đó. Điều đó có nghĩa nó là một mảng trống.

Cách sử dụng vòng lặp for của Python – Ví dụ thực tế

Giờ hãy xét một số ví dụ thực tế về cách sử dụng vòng lặp for trong Python.

Đoạn mã bên dưới xuất ra từng mục trong danh sách:

items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
print(i)

Bạn có thể chỉnh sửa code trên để xuất bất kỳ mục có chữ cái “a”:

items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
if "a" in i:
print(i)

Một vòng lặp for trong Python cũng dùng câu lệnh else trực tiếp:

b=[2, 3, 5, 6]
for i in b:
print(i)
else:
print("Loop has ended")

Bạn có thể dùng lệnh break để thay đổi quy trình của một vòng lặp:

b=[2, 3, 5, 6]
for i in b:
if i>3:
break
print(i)

Bạn cũng có thể sử dụng từ khóa continue với một loop for:

b=[2, 3, 5, 6]
for i in b:
if i>3:
continue
print(i)

Sử dụng vòng lặp for với chuỗi List và String trong Python

Giờ hãy nhìn vào code bên dưới để xuất toàn bộ các số nguyên dưới từ 1 tới 100. Để làm việc này, đầu tiên tạo một danh sách các số trong phạm vi từ 1 tới 100 bằng hàm range của Python.

for x in range(1, 101):
print(x)

Bạn có thể chỉnh sửa khối code bằng cách giới thiệu một lệnh điều kiện để xuất toàn bộ số lẻ giữa 1 và 100.

for x in range(1, 101):
if x%2==1:
print(x)

Tuy nhiên, bạn cũng có thể tạo bảng cửu chương nhấn 2 theo đầu ra của đoạn mã trên. Để làm việc này, bạn chỉ cần thêm một vài câu lệnh:

for x in range(1, 101):
if x%2==1:
print(x, "x", 2, "=", x * 2)

Giờ bạn đã biết cách vòng lặp for hoạt động với một danh sách các số nguyên. Tiếp theo, hãy tìm hiểu cách sử dụng vòng lặp for với các chuỗi.

Code bên dưới trả về một chuỗi của mỗi string trong một lệnh:

a = "How to use a for loop in Python"
for i in a:
print(i)

Chúng ta cũng có thể đếm số của chuỗi (bao gồm khoảng cách) trong biến a sử dụng vòng lặp for:

a = ["How to use a for loop in Python"]
for i in a:
print(i.count(''))
Output: 32

Tuy nhiên, bạn cũng có thể đặt một vòng lặp for trong một biến riêng và nhận kết quả tương tự bằng cách viết lại code trên như sau:

a=["How to use a for loop in Python"]
c=[b.count('') for b in a]
print(c)
Output: [32]

Lưu ý: Để có được số lượng ký tự, đảm bảo không có khoảng cách giữa các dấu ngoặc kép trong ngoặc đơn theo sau từ khóa count.

Bạn cũng có thể chỉnh sửa từng code trong hai đoạn mã gần nhất ở trên để tạo một bộ đếm từ đơn giản bằng vòng lặp for. Toàn bộ việc bạn cần làm ở trường hợp này là chèn một khoảng trắng giữa mỗi dấu ngoặc kép trong dấu ngoặc đơn:

a=["How to use a for loop in Python"]
for i in a:
print(i.count(' ') + 1)
Output: 8

Giống như đã từng làm ở bộ đếm ký tự, bạn cũng có thể viết lại code đếm từ ở trên bằng cách đặt vòng lặp for trong một biến như sau:

a = ["How to use a for loop in Python"]
c=[b.count(' ') + 1 for b in a]
print(c)
Output: [8]

Chú ý tới khoảng trắng duy nhất nằm ở giữa các trích dẫn trong ngoặc đơn.

Sử dụng Python để tạo vòng lặp với một array

Bạn cũng có thể dùng vòng lặp for để có một nhân tố cụ thể trong một array.

Giải sử bạn có một mảng dữ liệu Sheep với các giá trị Yes cho động vật “healthy” và No cho “unhealthy”. Mỗi con cừu đều có tên riêng và bạn muốn cách ly tất cả những con bị bệnh.

Bạn có thể dùng vòng lặp for để xuất toàn bộ cừu bị bệnh, chẳng hạn như sau:

array = [{"name":"Sheep1", "healthy":"Yes"},
{"name":"Sheep3", "healthy":"No"},
{"name":"Sheep4", "healthy":"Yes"},
{"name":"Sheep5", "healthy":"Yes"},
{"name":"Sheep8", "healthy":"No"},
{"name":"Sheep7", "healthy":"No"},
{"name":"Sheep9", "healthy":"No"}
]
for sheeps in array:
if sheeps["healthy"]=="No":
print("Quarantine", sheeps["name"])

Sử dụng Nested cho vòng lặp trong Python

Một vòng lặp for lồng nhau rất hữu ích khi bạn muốn xuất từng nhân tố trong một dãy phần tử phức tạp hay được lồng nhau. Nó hoạt động bằng cách đặt một vòng lặp bên trong vòng lặp khác. Ví dụ:

nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]
for dict in nested_list:
for i in dict:
print(i)

Tùy thuộc vào vấn đề, mỗi vòng lặp forwhile có tầm ảnh hưởng riêng trong Python. Trên đây là cách dùng vòng lặp cơ bản trong Python. Hi vọng bài viết hữu ích với các bạn.

Đăng bởi: THPT Sóc Trăng

Chuyên mục: Hướng dẫn giáo viên

Bản quyền bài viết thuộc trường THPT Sóc Trăng. Mọi hành vi sao chép đều là gian lận!

Nguồn chia sẻ: Trường THPT Thành Phố Sóc Trăng (thptsoctrang.edu.vn)