Vòng lặp là một tính năng hữu ích và được sử dụng thường xuyên trong tất cả các ngôn ngữ lập trình hiện đại.
Nếu bạn muốn tự động hóa một tác vụ lặp đi lặp lại cụ thể hoặc ngăn bản thân viết mã lặp đi lặp lại trong chương trình của mình, sử dụng vòng lặp là lựa chọn tốt nhất cho việc đó.
Vòng lặp là một tập hợp các hướng dẫn chạy lặp đi lặp lại cho đến khi một điều kiện được đáp ứng. Hãy tìm hiểu thêm về cách vòng lặp hoạt động trong Python.
Vòng lặp trong Python
Có hai loại vòng lặp được tích hợp trong Python:
Hãy tập trung vào cách bạn có thể tạo một while
vòng lặp trong Python và cách nó hoạt động.
Vòng lặp while trong Python là gì?
Cú pháp chung của một while
vòng lặp trong Python trông như thế này:
while condition:
execute this code in the loop's body
Vòng lặp while sẽ chạy một đoạn mã trong khi điều kiện là Đúng. Nó sẽ tiếp tục thực thi tập hợp các câu lệnh mã mong muốn cho đến khi điều kiện đó không còn đúng nữa.
Vòng lặp while sẽ luôn kiểm tra điều kiện trước khi chạy.
Nếu điều kiện đánh giá là True
sau đó vòng lặp sẽ chạy mã trong phần thân của vòng lặp.
Ví dụ, vòng lặp này chạy miễn là number
ít hơn 10
:
number = 0
while number < 10:
print(f"Number is {number}!")
number = number + 1
Đầu ra:
Number is 0!
Number is 1!
Number is 2!
Number is 3!
Number is 4!
Number is 5!
Number is 6!
Number is 7!
Number is 8!
Number is 9!
Ở đây, biến number
được đặt thành ban đầu.
Trước khi bất kỳ mã nào được chạy, Python sẽ kiểm tra điều kiện (number < 10
). Nó đánh giá là True để câu lệnh in được thực thi và Number is 0!
được in ra bàn điều khiển.
number
sau đó được tăng lên bởi 1
. Điều kiện được đánh giá lại và nó lại là True, do đó, toàn bộ quy trình được lặp lại cho đến khi number
bằng 9
.
Thời gian này Number is 9!
được in và number
được tăng lên, nhưng bây giờ number
bằng 10
vì vậy điều kiện không còn được đáp ứng và do đó vòng lặp kết thúc.
Có thể là while
vòng lặp không bao giờ chạy nếu nó không đáp ứng điều kiện, như trong ví dụ này:
number = 50
while number < 10 :
print(f"Number is {number}!")
Vì điều kiện luôn là Sai nên các lệnh trong phần thân của vòng lặp không thực thi.
Đừng tạo vòng lặp vô hạn
Như bạn đã thấy từ ví dụ trên, while
các vòng lặp thường đi kèm với một biến có giá trị thay đổi trong suốt thời gian của vòng lặp. Và cuối cùng nó xác định khi nào vòng lặp sẽ kết thúc.
Nếu bạn không thêm dòng này, bạn sẽ tạo ra một vòng lặp vô hạn.
number
sẽ không được tăng và cập nhật. Nó sẽ luôn được đặt và duy trì ở và do đó điều kiện
number < 10
sẽ là Sự Thật mãi mãi. Điều này có nghĩa là vòng lặp sẽ tiếp tục lặp mãi mãi.
# don't run this
number = 0
while number < 10:
print(f"Number is {number}!")
Đầu ra:
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
...
Nó chạy vô tận.
Nó giống như làm điều này:
#don't run this
while True:
print("I am always true")
Nếu bạn thấy mình trong một tình huống như thế này thì sao?
Nhấn Control C
để thoát và kết thúc vòng lặp.
Vòng lặp do while là gì?
Cú pháp chung của một do while
vòng lặp trong các ngôn ngữ lập trình khác trông giống như thế này:
do {
loop block statement to be executed;
}
while(condition);
Ví dụ, một vòng lặp do while trong C có dạng như sau:
#include <stdio.h>
int main(void)
{
int i = 10;
do {
printf("the value of i: %i\n", i);
i++;
}
while( i < 20 );
}
Điều duy nhất trong các vòng lặp do while là mã trong khối vòng lặp sẽ được thực thi ít nhất một lần.
Mã trong câu lệnh chạy một lần và sau đó điều kiện được kiểm tra chỉ sau khi mã được thực thi.
Vì vậy, mã chạy một lần đầu tiên và sau đó điều kiện được kiểm tra.
Nếu điều kiện được kiểm tra đánh giá là đúng, vòng lặp sẽ tiếp tục.
Có những trường hợp bạn muốn mã của mình chạy ít nhất một lần và đó là lúc các vòng lặp while trở nên hữu ích.
Ví dụ: khi bạn đang viết một chương trình nhận đầu vào từ người dùng, bạn có thể chỉ yêu cầu một số dương. Mã sẽ chạy ít nhất một lần. Nếu số người dùng gửi là số âm, vòng lặp sẽ tiếp tục chạy. Nếu nó tích cực, nó sẽ dừng lại.
Python không có chức năng tích hợp để tạo một cách rõ ràng do while
vòng lặp như các ngôn ngữ khác. Nhưng có thể mô phỏng một do while
vòng lặp trong Python.
Cách mô phỏng vòng lặp do while trong Python
Để tạo ra một do while
vòng lặp trong Python, bạn cần sửa đổi while
lặp lại một chút để có được hành vi tương tự như một do while
vòng lặp trong các ngôn ngữ khác.
Như một bồi dưỡng cho đến nay, một do while
vòng lặp sẽ chạy ít nhất một lần. Nếu điều kiện được đáp ứng, thì nó sẽ chạy lại.
Các while
mặt khác, vòng lặp không chạy ít nhất một lần và trên thực tế có thể không bao giờ chạy. Nó chạy khi và chỉ khi điều kiện được đáp ứng.
Vì vậy, giả sử chúng ta có một ví dụ mà chúng ta muốn một dòng mã chạy ít nhất một lần.
secret_word = "python"
counter = 0
while True:
word = input("Enter the secret word: ").lower()
counter = counter + 1
if word == secret_word:
break
if word != secret_word and counter > 7:
break
Mã sẽ chạy ít nhất một lần, yêu cầu đầu vào của người dùng.
Nó luôn được đảm bảo chạy ít nhất một lần, với True
nếu không sẽ tạo ra một vòng lặp vô hạn.
Nếu người dùng nhập đúng từ bí mật, vòng lặp sẽ kết thúc.
Nếu người dùng nhập sai từ bí mật quá 7 lần thì vòng lặp sẽ bị thoát hoàn toàn.
Các break
câu lệnh cho phép bạn kiểm soát luồng của một while
vòng lặp và không kết thúc bằng một vòng lặp vô hạn.
break
sẽ ngay lập tức kết thúc vòng lặp hiện tại cùng nhau và thoát ra khỏi nó.
Vì vậy, đây là cách bạn tạo hiệu ứng tương tự như một do while
vòng lặp trong Python.
Vòng lặp luôn thực hiện ít nhất một lần. Nó sẽ tiếp tục lặp nếu một điều kiện không được đáp ứng và sau đó kết thúc khi một điều kiện được đáp ứng.
Phần kết luận
Bây giờ bạn đã biết cách tạo một do while
vòng lặp trong Python.
Nếu muốn tìm hiểu thêm về Python, bạn có thể xem video 12 Dự án Python trên kênh YouTube của freeCodeCamp. Bạn sẽ xây dựng 12 dự án và nó hướng đến người mới bắt đầu.
freeCodeCamp cũng có Chứng chỉ Python miễn phí để giúp bạn hiểu rõ và có cái nhìn tổng quan toàn diện về các nguyên tắc cơ bản quan trọng của ngôn ngữ này.
Bạn cũng sẽ được xây dựng năm dự án vào cuối khóa học để thực hành những gì bạn đã học.
Cảm ơn đã đọc và học tập vui vẻ!