Trang chủThủ thuậtỨng dụngPhần mềm
Tìm hiểu vòng lặp while trong Python cho người mới bắt đầu
Tìm hiểu vòng lặp while trong Python cho người mới bắt đầu

Tìm hiểu vòng lặp while trong Python cho người mới bắt đầu

Tìm hiểu vòng lặp while trong Python cho người mới bắt đầu

My Ngọc, Tác giả Sforum - Trang tin công nghệ mới nhất
My Ngọc
Ngày đăng: 22/05/2025-Cập nhật: 22/05/2025
gg news

Khi bạn mới tiếp cận ngôn ngữ Python, việc hiểu và sử dụng đúng vòng lặp while trong Python sẽ là một bước quan trọng. Vòng lặp while giúp bạn tự động hoá các công việc lặp đi lặp lại cho đến khi điều kiện bị sai. Trong khuôn khổ đề tài này, Sforum và bạn sẽ cùng nhìn lại khái niệm cơ bản, cách sử dụng, và bài tập về vòng lặp for và while trong Python giúp củng cố kiến thức lập trình của bạn.

Vòng lặp while trong Python là gì?

Trong ngôn ngữ Python, cấu trúc lặp while cho phép thực thi một đoạn mã lặp lại nhiều lần miễn là điều kiện còn đúng. Khác với vòng for vốn định trước số lần lặp, while phù hợp khi bạn chưa xác định rõ thời điểm dừng. Công cụ này rất hữu ích trong các tình huống như chờ người dùng nhập đúng dữ liệu, chạy tiến trình nền,... Bài tập vòng lặp while trong Python thường xoay quanh các ví dụ như kiểm tra điều kiện, tìm số nguyên tố hoặc tạo menu lặp cho ứng dụng console.

Sơ đồ minh họa vòng lặp while trong Python
Giới thiệu về vòng lặp while trong Python

Khi bạn bắt đầu học lập trình với vòng lặp while trong Python, máy tính là yếu tố không thể bỏ qua. Việc chạy các vòng lặp liên tục, xử lý dữ liệu hay debug lỗi yêu cầu một chiếc laptop ổn định, mượt mà. Nếu bạn đang tìm kiếm thiết bị phù hợp để học lập trình thì hãy xem ngay các mẫu Laptop đang bán chạy tại CellphoneS dưới đây: 

[Product_Listing categoryid="1055" propertyid="" customlink="https://cellphones.com.vn/laptop/do-hoa.html" title="Tham khảo danh sách laptop đồ họa - kỹ thuật được quan tâm tại CellphoneS!"]

Cú pháp của while trong Python

Trong vòng lặp while trong Python, điều kiện sẽ được kiểm tra ngay từ lần đầu tiên. Khi đáp ứng điều kiện, các lệnh bên trong sẽ tiếp tục chạy lặp lại cho đến lúc điều kiện không còn đúng nữa. Python sẽ đánh giá điều kiện theo tính đúng sai (truthy/falsy). Các giá trị như 0, None, False, chuỗi rỗng '', danh sách rỗng [], hoặc dict rỗng {} sẽ được coi là False trong biểu thức điều kiện. Khi đó, khối lệnh trong vòng lặp sẽ bị bỏ qua và chương trình tiếp tục chạy các câu lệnh sau while. 

Cú pháp của vòng lặp while trong Python

Trong Python, việc xác định phạm vi khối lệnh trong vòng lặp while dựa vào khoảng cách thụt đầu dòng. Mọi câu lệnh thuộc vòng lặp cần phải được viết thụt vào cùng một mức. Khi chương trình gặp một dòng không thụt lề tiếp theo, điều đó có nghĩa là vòng lặp đã kết thúc. Quy tắc này tương tự như khi bạn sử dụng cấu trúc if hoặc vòng lặp for.

Các câu lệnh phổ biến trong vòng lặp while

Khi lập trình với vòng lặp while trong Python, bạn có thể kết hợp thêm một số lệnh điều khiển để quản lý luồng thực thi một cách linh hoạt hơn. Những lệnh này giúp kiểm soát hành vi của vòng lặp trong từng tình huống cụ thể, từ việc dừng vòng lặp đến bỏ qua một lần lặp. 

Sử dụng Break để thoát khỏi vòng lặp

Trong quá trình học vòng lặp while python, bạn sẽ gặp tình huống muốn dừng vòng lặp sớm mà không cần chờ điều kiện trở thành False. Khi đó, lệnh break sẽ là lựa chọn hữu ích. Dù điều kiện trong while vẫn đang đúng, break sẽ khiến chương trình thoát khỏi vòng lặp ngay lập tức khi được gọi, giúp kiểm soát luồng chạy linh hoạt hơn trong nhiều trường hợp thực tế.

Câu lệnh Break trong vòng lặp while
Lệnh Break và bài tập vòng lặp while trong Python

Ví dụ: Nhập số liên tục cho đến khi nhập 0 mới dừng

while True:

n = int(input("Nhập một số (nhập 0 để thoát): "))

print("Bạn vừa nhập:", n)

if n == 0:

print("Đã nhập 0, kết thúc vòng lặp.")

break

Giải thích:

Chương trình yêu cầu người dùng nhập số liên tục. Khi người dùng nhập 0, vòng lặp sẽ dừng lại bằng break.

Input/output:

Nhập một số (nhập 0 để thoát): 3

Bạn vừa nhập: 3

Nhập một số (nhập 0 để thoát): 7

Bạn vừa nhập: 7

Nhập một số (nhập 0 để thoát): 0

Bạn vừa nhập: 0

Đã nhập 0, kết thúc vòng lặp.

Sử dụng Continue để bỏ qua lần lặp hiện tại

Lệnh continue dùng để dừng sớm vòng lặp hiện tại và chuyển đến lần lặp kế tiếp mà không thực hiện các câu lệnh phía sau. 

Ví dụ: In các số từ 1 đến 10, bỏ qua số chẵn

n = 0

while n < 10:

n += 1

if n % 2 == 0:

print("Bỏ qua số chẵn:", n)

continue

print("Số lẻ cần in:", n)

Giải thích:

Chương trình thực hiện kiểm tra dãy số từ 1 đến 10. Khi gặp số chia hết cho 2, continue sẽ được dùng để bỏ qua bước xử lý tiếp theo và chuyển sang số kế tiếp. Do đó, chỉ các số lẻ được in ra.

Output:

Số lẻ cần in: 1

Bỏ qua số chẵn: 2

Số lẻ cần in: 3

Bỏ qua số chẵn: 4

Số lẻ cần in: 5

Bỏ qua số chẵn: 6

Số lẻ cần in: 7

Bỏ qua số chẵn: 8

Số lẻ cần in: 9

Bỏ qua số chẵn: 10

Kết hợp Else với vòng lặp while

Với vòng lặp while trong Python, bạn có thể bổ sung khói else để chạy khi điều kiện của vòng lặp không còn thoả mãn. Khác với việc dùng break, else chỉ chạy khi vòng lặp kết thúc tự nhiên. 

Ví dụ: Đếm từ 1 đến 5, sau đó in thông báo hoàn tất

n = 1

while n <= 5:

print("Giá trị hiện tại:", n)

n += 1

else:

print("Vòng lặp đã hoàn thành mà không bị dừng giữa chừng.")

Giải thích:

Vòng while lặp từ n = 1 đến 5, mỗi lần tăng thêm 1.

Khi điều kiện n <= 5 không còn đúng, Python sẽ chạy phần else.

Output:

Giá trị hiện tại: 1

Giá trị hiện tại: 2

Giá trị hiện tại: 3

Giá trị hiện tại: 4

Giá trị hiện tại: 5

Vòng lặp đã hoàn thành mà không bị dừng giữa chừng.

Vòng lặp vô hạn với while True

Nếu bạn viết vòng lặp while trong Python mà không đặt điều kiện kết thúc rõ ràng, hoặc chỉ để duy nhất một lệnh mà không cập nhật biến điều kiện, vòng lặp sẽ tiếp tục chạy mãi không dừng. Trường hợp này thường được gọi là vòng lặp vô hạn. Trong quá trình thử nghiệm, nếu chẳng may rơi vào tình huống này, bạn nên nhanh chóng nhấn tổ hợp phím Ctrl + C để dừng chương trình và tránh làm treo máy. 

Vòng lặp vô hạn với while True trong Python

Ví dụ: Vòng lặp vô hạn in thông báo mỗi giây

import time

while True:

print("Chương trình đang chạy... Nhấn Ctrl+C để dừng.")

time.sleep(1) # Tạm dừng 1 giây để dễ quan sát

Giải thích:

Vòng lặp while True luôn đúng → chương trình sẽ chạy mãi.

Dòng time.sleep(1) giúp mỗi lần in ra sẽ cách nhau 1 giây.

Người dùng cần bấm Ctrl + C để kết thúc quá trình chạy chương trình. 

Output (một phần ví dụ):

Chương trình đang chạy... Nhấn Ctrl+C để dừng.

Chương trình đang chạy... Nhấn Ctrl+C để dừng.

Chương trình đang chạy... Nhấn Ctrl+C để dừng.

Những lỗi thường gặp khi sử dụng vòng lặp while

Mặc dù đã quen thuộc với cú pháp, bạn vẫn dễ mắc lỗi khi sử dụng vòng lặp while trong Python nếu không kiểm tra kỹ logic. Một số lỗi thường gặp gồm:

Những lỗi thường gặp khi sử dụng vòng lặp while
Các lỗi thường gặp của vòng lặp while trong Python
  • Không thay đổi giá trị biến điều kiện bên trong vòng lặp có thể khiến chương trình lặp lại liên tục mà không kết thúc (gây ra vòng lặp vô hạn). 
  • Viết sai biểu thức điều kiện khiến chương trình không bao giờ thực hiện vòng lặp
  • Thiếu hoặc thừa khoảng trắng đầu dòng (indentation), gây lỗi IndentationError trong Python
  • Dùng lồng nhiều vòng while nhưng không kiểm soát điều kiện rõ ràng , gây khó debug và ảnh hưởng hiệu suất.

Khi làm bài tập vòng lặp while trong Python, bạn nên thử viết ra điều kiện logic trước khi code, đồng thời test từng đoạn nhỏ để dễ kiểm soát kết quả. Sforum khuyên bạn nên chạy từng bước với giá trị mẫu để phát hiện lỗi kịp thời và tránh mất thời gian xử lý sau này.

So sánh vòng lặp while và for trong Python

Trong Python, vòng lặp for và while phục vụ cho những mục đích khác nhau, giúp lập trình viên linh hoạt trong việc giải quyết các yêu cầu cụ thể của chương trình. Vòng for dùng khi bạn biết rõ số lần lặp, thường đi qua các phần tử bằng range() hoặc danh sách. Ngược lại, vòng lặp while trong Python phù hợp khi chưa biết trước số lần lặp, và điều kiện dừng được kiểm soát linh hoạt trong thân vòng lặp. 

So sánh vòng lặp while và for trong Python

Nếu so sánh về hiệu suất trong các tác vụ đơn giản, for thường nhanh và dễ kiểm soát hơn. Để hiểu rõ nên dùng vòng nào trong từng trường hợp, bạn có thể tham khảo bảng so sánh sau do Sforum tổng hợp lại dựa trên tính chất kỹ thuật của từng loại:

Tiêu chí

Lệnh For

Lệnh While

Khi nào nên dùng 

Khi đã biết trước số lần lặp

Khi chưa biết rõ số lần lặp cần thực hiện

Vị trí khởi tạo biến

Thường khai báo ở đầu vòng lặp

Có thể khởi tạo ở bất kỳ đâu trong thân vòng

Hàm hỗ trợ 

Dùng range() hoặc xrange() để lặp

Không yêu cầu hàm đặc biệt để thực thi

Duyệt generator

Có thể lặp qua generator trực tiếp

Không hỗ trợ duyệt generator một cách trực tiếp

Hiệu suất

Hiệu quả hơn khi biết trước số vòng lặp

Hiệu quả nếu điều kiện dừng có thể tính nhanh

Tóm lại, vòng lặp while trong Python là công cụ mạnh mẽ khi bạn cần kiểm soát luồng lặp dựa trên điều kiện thay vì số lần cụ thể. Nếu bạn đang luyện tập bài tập về vòng lặp for và while trong Python cơ bản, hãy thử nhiều ví dụ khác nhau để hiểu rõ cách hai loại vòng lặp này hoạt động. Sforum hy vọng bạn sẽ áp dụng thành thạo vào dự án về phần mềm hoặc nội dung giáo dục của mình.

Xem thêm bài viết trong chuyên mục: Ứng dụng/phần mềm

danh-gia-bai-viet
(0 lượt đánh giá - 5/5)

Tôi là một nhà phát triển nội dung có niềm đam mê giúp bạn đọc hiểu rõ hơn về thế giới tài chính, công nghệ và các xu hướng xã hội. Tôi luôn tìm kiếm những câu chuyện thú vị và những góc nhìn mới lạ để tạo ra những bài viết không chỉ cung cấp thông tin mà còn truyền cảm hứng. Với tôi, việc tạo ra những nội dung giá trị và hữu ích là động lực lớn nhất để tôi không ngừng nỗ lực.  

Bình luận (0)

sforum facebook group logo