Cấp bậc tác giả:

TRAINING

[Tự học Python]Vòng Lặp While

Được viết bởi webmaster ngày 21/11/2016 lúc 03:28 PM
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 đó.
  • 0
  • 5954

[Tự học Python]Vòng Lặp While

Vòng lặp while

Trong Python, cấu trúc vòng lặp while tương tự với hầu hết các ngôn ngữ khác, nó thực hiện lặp đi lặp lại một lệnh hoặc một khối lệnh cho đến khi nhận được giá trị false  từ biểu thức sau while.

Cấu trúc while

while condition:
     statement(s) 

Trong đó:
  • statement(s) là các khối lệnh nằm trong vòng lặp. 
  • condition chính là điều kiện lặp của while. 
Nguyên tắc hoạt động

Nguyên tắc hoạt động của vòng lặp while được thể hiện qua sơ đồ khối sau:

py-while.png

Khi nhận giá trị true từ condition, các khối lệnh bên trong while sẽ được thực hiện. Sau khi thực hiện xong sẽ quay về và kiểm tra giá trị của condition và  cứ tiếp tục như thế cho đến khi nhận được giá trị false từ condition thì vòng lặp sẽ kết thúc.

Một lưu ý nhỏ là khối lệnh bên trong while có khả năng sẽ không bao giờ được thực hiện nếu lần kiểm tra giá trị đầu tiên của while trả về giá trị false. Khi đó, vòng lặp while sẽ được bỏ qua và chương trình sẽ thực hiện tiếp các lệnh sau nó.

Ví dụ

Chúng ta đến với ví dụ sau để có thể hiểu rõ hơn về vòng lặp while.

stdio_authors = \
[
"La Kien Vinh",
"Brian Vu",
"Taco Nguyen",
"Ryan Le",
"TOMBSTONE"
]

count = 0

while (stdio_authors[count] != "TOMBSTONE"):
print (stdio_authors[count])
count += 1;

Kết quả in ra màn hình:

La Kiến Vinh
Brian Vu
Taco Nguyen
Ryan Lê

Vòng lặp vô hạn

Vòng lặp while có thể trở thành một vòng lặp vô hạn nếu như điều kiện sau while không bao giờ trả về giá trị false. Vì vậy khi sử dụng vòng lặp while bạn cần thận trọng để tránh gây ra lỗi không đáng có làm sai mục đích lập trình.

Xét lại ví dụ trên nhưng trong trường hợp tôi "quên" tăng biến count lên:

stdio_authors = \
[
"La Kien Vinh",
"Brian Vu",
"Taco Nguyen",
"RYan Le",
"TOMBSTONE"
]

count = 0

while (stdio_authors[count] != "TOMBSTONE"):
print (stdio_authors[count])
Kết quả in ra màn hình sẽ là hàng loạt dòng "La Kien Vinh" và không bao giờ dừng lại. Ta có thể thấy do một chút nhầm lẫn nhỏ sẽ khiến vòng lặp while trở nên vô hạn.

Tuy nhiên, cũng tuỳ vào mục đích mà đôi khi lập trình viên sẽ cố tình tạo ra và sử dụng vòng lặp vô hạn. Ví dụ như trong lập trình client/server, nơi mà các máy chủ cần phải chạy liên tục để giao tiếp với khách hàng.

Nguồn bài viết: Sưu tầm

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML