Tổng quan về vòng lặp trong Python

Có bao giờ, bạn phải type đi type lại một đoạn code nào đó và cảm thấy vô cùng mất thời gian với việc làm này không? Trong thế giới lập trình có một cách để bạn làm việc này nhanh và hiệu quả hơn. Đó chính là Vòng lặp. Dưới đây, Got It sẽ gửi đến bạn đọc bài viết chi tiết nhất và cung cấp đầy đủ thông tin cần thiết về các loại vòng lặp hiện có trong Python

1. Vòng lặp là gì?

Vòng lặp (hay Loop) là thuật ngữ để chỉ một hành động hoặc cụm hành động lặp đi lặp lại nhiều lần. Trong quá trình coding, có những khi chúng ta muốn chạy đi chạy lại một câu code nhiều lần. Đó là lúc bạn cần đến vòng lặp. 

Có 2 loại vòng lặp chính trong Python, đó là: vòng lặp for và vòng lặp while.

Chúng ta cùng đi vào tìm hiểu kĩ hơn về từng loại vòng lặp này nhé!

2. Vòng lặp for trong Python

Vòng lặp for trong Python được sử dụng để lặp một biến dữ liệu qua một dãy (List, Tuple hoặc String) theo thứ tự mà chúng xuất hiện. Nếu số lần lặp cố định thì bạn nên sử dụng vòng lặp for. Còn nếu số lần lặp không cố định thì vòng lặp while sẽ là sự lựa chọn tốt hơn.

2.1. Cú pháp của vòng lặp for

for variable in sequence:
    Khối lệnh của for

Ở cú pháp trên, variable là các biến dùng để nhận giá trị của từng dữ liệu trên mỗi lần lặp. Sequence là chuỗi cần lặp. 

Vòng lặp tiếp tục cho đến khi chúng ta đến mục cuối cùng trong chuỗi. Một lưu ý nhỏ về phần trình bày là code bên trong câu lệnh “for” sẽ được căn thụt lề để phân tách code rõ ràng và chính xác.

Ví dụ về vòng lặp for:

# Program to find the sum of all numbers stored in a list

# List of numbers
numbers = [4, 5, 3, 8, 6, 2, 5, 4, 11]

# variable to store the sum
sum = 0

# iterate over the list
for val in numbers:
    sum = sum+val

print("The sum is", sum)

Khi chạy đoạn code trên, bạn sẽ nhận được kết quả là:

The sum is 48

2.2. Hàm Range()

Hàm range() có thể được sử dụng để tạo ra một dãy số. Ví dụ, range(10) sẽ tạo một dãy số từ 0 đến 9 (có 10 số).

Chúng ta sử dụng hàm range(giá trị bắt đầu, giá trị kết thúc, khoảng cách giữa hai giá trị) để tạo dãy số tùy chỉnh. Python sẽ mặc định khoảng cách giữa 2 giá trị là 1 nếu bạn không cung cấp. 

Hàm không lưu tất cả các giá trị trong bộ nhớ. Nó chỉ lưu giá trị bắt đầu, giá trị kết thúc và khoảng cách giữa hai số, từ đó tạo ra số tiếp theo trong dãy.

Để buộc hàm range() xuất ra tất cả các mục, chúng ta có thể sử dụng hàm list(). Dưới đây là ví dụ minh hoạ:

print(range(10))

print(list(range(10)))

print(list(range(2, 8)))

print(list(range(2, 20, 3)))

Khi chạy đoạn code trên, bạn sẽ nhận được kết quả là:

range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

Chúng ta cũng có thể sử dụng hàm range () trong vòng lặp for để lặp một chuỗi số. Nó có thể được kết hợp với hàm len() để lặp bằng cách sử dụng indexing. 

Ví dụ:

# Program to iterate through a list using indexing

genre = ['pop', 'rock', 'jazz']

# iterate over the list using index
for i in range(len(genre)):
    print("I like", genre[i])

Ta được kết quả đầu ra như sau:

I like pop
I like rock
​I like jazz

2.3. Vòng lặp for với else

Khối lệnh else được thực hiện khi các mục đã được lặp hết. Dưới đây là ví dụ để miêu tả:

A = [0, 1, 5]

for i in A:
    print(i)
else:
    print("No items left.")

Khi chạy xong, kết quả ta được:

0
1
5
No items left.

Như vậy, vòng lặp for sẽ thực hiện print các mục của danh sách A cho đến khi hết các mục. Khi vòng lặp kết thúc, nó sẽ chạy khối lệnh else và print Đã hết số.

Ngoài ra, nếu muốn dừng vòng lặp for, bạn có thể sử dụng lệnh break. Lúc này, khối lệnh else sẽ bị bỏ qua. Như vậy, else trong for sẽ chỉ được chạy khi không có lệnh break nào được thực hiện. 

Ví dụ:

# program to display student's marks from record
student_name = 'Soyuj'

marks = {'James': 90, 'Jules': 55, 'Arthur': 77}

for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('No entry with that name found.')

Output:

No entry with that name found.

3. Vòng lặp while trong Python

Vòng lặp while trong Python được dùng để lặp lại một khối lệnh khi điều kiện kiểm tra là đúng. Chúng ta thường sử dụng vòng lặp này khi chúng ta không biết trước số lần lặp lại là bao nhiêu.

3.1. Cú pháp của vòng lặp while

while điều_kiện_kiểm_tra:
     Khối lệnh của while

Trong vòng lặp while, điều_kiện_kiểm_tra sẽ được kiểm tra đầu tiên. Khối lệnh chỉ được nhập vào nếu điều_kiện_kiểm_tra được đánh giá là True. Sau một lần lặp, điều_kiện_kiểm_tra sẽ được kiểm tra lại. Quá trình này sẽ diễn ra cho đến khi điều_kiện_kiểm_tra là False. 

Python diễn giải mọi giá trị khác 0 là True. None và 0 được hiểu là False. Bên cạnh đó, khối lệnh while cũng được xác định bằng cách thụt lề.

Ví dụ về vòng lặp while:

# Program to add natural
# numbers up to 
# sum = 1+2+3+...+n
# To take input from the user,
n = int(input("Enter n: "))

# initialize sum and countersum = 0
i = 1
while i <= n:
    sum = sum + i
    i = i+1    # update counter
# print the sum
print("The sum is", sum)

Khi chạy chương trình, kết quả đầu ra sẽ là:

Enter n: 10
The sum is 55

Ở chương trình trên, điều kiện kiểm tra sẽ là True, miễn là các biến đếm i nhỏ hơn hoặc bằng n (10). Chúng ta cần tăng giá trị của biến đếm trong khối lệnh của vòng lặp, nếu không sẽ dẫn đến một vòng lặp vô hạn (vòng lặp không bao giờ kết thúc).

3.2. Vòng lặp while với else

Tương tự như với vòng lặp for, vòng lặp while cũng có thể có một khối else tùy chọn. Phần else sẽ được thực thi nếu điều kiện trong vòng lặp while được đánh giá là False.

Vòng lặp while có thể được kết thúc bằng câu lệnh break. Trong những trường hợp như vậy, phần else bị bỏ qua. Do đó, phần else của vòng lặp while sẽ chạy nếu không có lệnh break nào xảy ra và điều kiện là False. 

Dưới đây là ví dụ minh hoạ:

'''Example to illustrate
the use of else statement
with the while loop'''

counter = 0

while counter < 3:
    print("Inside loop")
    counter = counter + 1
else:
    print("Inside else")

Output:

Inside loop
Inside loop
Inside loop
Inside else

Ở ví dụ trên, chúng ta sử dụng 1 biến đếm để print string Inside loop 3 lần. Đến lần thứ 4, điều kiện trong while là False. Do đó, phần else đã được thực hiện. 

Tạm kết

Vòng lặp đặc biệt quan trọng đối với các lập trình viên, đặc biệt là vòng lặp trong Python. Got It hy vọng bài viết Tổng quan về vòng lặp trong Python này sẽ giúp ích cho bạn đọc! 

Nguồn: Programiz

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
October 15, 2021
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan

Các bước tạo một thư viện Python

Tác giả: Minh (Software Engineer | CAI) Trong Tech Blog số này, Got It sẽ cùng bạn tìm hiểu về 6 bước để tạo và phân phối một thư viện Python. Cụ thể, chúng ta sẽ viết một CLI command tương tự cowsay cùng với một function để các package khác có thể import và […]

Sử dụng pre-commit để thực thi PEP8 chỉ trong 3 bước

Tác giả: Kiên (Software Engineer | CAI) Đảm bảo code tuân thủ đầy đủ các quy tắc được đề xuất trong PEP8 là một điều vô cùng quan trọng, đặc biệt là trong làm việc nhóm, khi mà yếu tố dễ đọc, dễ hiểu, và dễ bảo trì code được đặt lên hàng đầu. Dẫu […]
Hướng dẫn cách triển khai và debug code Python trên Docker

Hướng dẫn cách triển khai và debug code Python trên Docker

Tác giả: Kiên (Software Engineer | CAI) Bạn đã bao giờ mất hàng tiếng đồng hồ, thậm chí vài ngày để cài đặt một số thư viện cần thiết cho việc chạy một project trên máy tính của mình chưa? Nếu có thì đây là bài viết dành cho bạn. Thông thường, khi bạn tham […]
Readable Code

Readable Code

Tác giả: Minh (Software Engineer, CAI) & Hương (TPM, CAI) Mục lục1. Readable code là gì?2. Làm thế nào để viết code dễ đọc?2.1. Style guide2.2. Viết function nhỏ, tập trung vào một tính năng2.3. Đặt tên hợp lý2.3.1. Dùng các tiền tố thích hợp để phân loại function2.3.2. Hạn chế thêm thông tin về […]
Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Ở bài viết này, chúng ta sẽ cùng đi tìm hiểu về Tuple trong Python, cách sử dụng chúng như thế nào, và sự khác biệt giữa Tuple và List là gì? Tất cả những nội dung trong bài đọc sẽ đều có ví dụ minh hoạ cụ thể, hi vọng các bạn đọc có […]

Anaconda là gì? Tìm hiểu nền tảng Khoa học dữ liệu phổ biến nhất

Để có thể tạo nên một ứng dụng của riêng mình, điều quan trọng nhất đó là phải thiết lập môi trường làm việc đúng cách. Vì vậy, bạn cần các công cụ để xử lý dữ liệu, xây dựng các mô hình và biểu diễn trên đồ thị. Việc sử dụng nhiều công cụ […]