Vòng lặp trong python

Câu lệnh vòng lặp while trong ngôn ngữ lập trình Python lặp đi lặp lại việc thực thi câu lệnh đích miễn là một điều kiện nhất định là đúng

cú pháp

Cú pháp của vòng lặp while trong ngôn ngữ lập trình Python là -

while expression:
   statement(s)

Ở đây, (các) câu lệnh có thể là một câu lệnh đơn lẻ hoặc một khối các câu lệnh. Điều kiện có thể là bất kỳ biểu thức nào và true là bất kỳ giá trị khác 0 nào. Vòng lặp lặp khi điều kiện đúng

Khi điều kiện trở thành sai, điều khiển chương trình chuyển đến dòng ngay sau vòng lặp

Trong Python, tất cả các câu lệnh được thụt vào bởi cùng một số khoảng trắng ký tự sau cấu trúc lập trình được coi là một phần của một khối mã. Python sử dụng thụt đầu dòng làm phương pháp nhóm các câu lệnh

sơ đồ dòng chảy

Vòng lặp trong python

Ở đây, điểm mấu chốt của vòng lặp while là vòng lặp có thể không bao giờ chạy. Khi điều kiện được kiểm tra và kết quả là sai, thân vòng lặp sẽ bị bỏ qua và câu lệnh đầu tiên sau vòng lặp while sẽ được thực thi

Ví dụ

Bản trình diễn trực tiếp
#!/usr/bin/python

count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1

print "Good bye!"

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

Khối ở đây, bao gồm các câu lệnh in và tăng, được thực hiện lặp đi lặp lại cho đến khi số đếm không nhỏ hơn 9. Với mỗi lần lặp lại, giá trị hiện tại của số lượng chỉ mục được hiển thị và sau đó tăng thêm 1

Vòng lặp vô hạn

Một vòng lặp trở thành vòng lặp vô hạn nếu một điều kiện không bao giờ trở thành FALSE. Bạn phải thận trọng khi sử dụng vòng lặp while vì có khả năng điều kiện này không bao giờ chuyển thành giá trị FALSE. Điều này dẫn đến một vòng lặp không bao giờ kết thúc. Một vòng lặp như vậy được gọi là một vòng lặp vô hạn

Một vòng lặp vô hạn có thể hữu ích trong lập trình máy khách/máy chủ nơi máy chủ cần chạy liên tục để các chương trình máy khách có thể giao tiếp với nó khi cần thiết

#!/usr/bin/python

var = 1
while var == 1 :  # This constructs an infinite loop
   num = raw_input("Enter a number  :")
   print "You entered: ", num

print "Good bye!"

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
   File "test.py", line 5, in 
      num = raw_input("Enter a number :")
KeyboardInterrupt

Ví dụ trên diễn ra trong một vòng lặp vô hạn và bạn cần sử dụng CTRL+C để thoát khỏi chương trình

Sử dụng Tuyên bố khác với Vòng lặp While

Python hỗ trợ để có một câu lệnh khác được liên kết với một câu lệnh vòng lặp

  • Nếu câu lệnh khác được sử dụng với vòng lặp while, câu lệnh khác được thực thi khi điều kiện trở thành sai

Ví dụ sau minh họa sự kết hợp của câu lệnh other với câu lệnh while in ra một số miễn là nó nhỏ hơn 5, nếu không thì câu lệnh khác sẽ được thực thi

Bản trình diễn trực tiếp
#!/usr/bin/python

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

Suite Độc Lập

Tương tự như cú pháp câu lệnh if, nếu mệnh đề while của bạn chỉ bao gồm một câu lệnh duy nhất, thì nó có thể được đặt trên cùng một dòng với tiêu đề while

Đây là cú pháp và ví dụ về mệnh đề while một dòng -

#!/usr/bin/python

flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"

Tốt hơn là không thử ví dụ trên vì nó đi vào vòng lặp vô hạn và bạn cần nhấn tổ hợp phím CTRL+C để thoát

Vòng lặp for được sử dụng để lặp qua một chuỗi (đó là danh sách, bộ dữ liệu, từ điển, tập hợp hoặc chuỗi)

Điều này ít giống với từ khóa for trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác

Với vòng lặp for, chúng ta có thể thực thi một tập hợp các câu lệnh, một lần cho mỗi mục trong danh sách, bộ, bộ, v.v.

Ví dụ

In từng loại trái cây trong danh sách trái cây

trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
in(x)

Tự mình thử »

Vòng lặp for không yêu cầu đặt biến lập chỉ mục trước


Vòng qua một chuỗi

Các chuỗi thậm chí là các đối tượng có thể lặp lại, chúng chứa một chuỗi ký tự

Ví dụ

Vòng qua các chữ cái trong từ "banana"

cho x trong "chuối"
in(x)

Tự mình thử »


Tuyên bố phá vỡ

Với câu lệnh break, chúng ta có thể dừng vòng lặp trước khi nó lặp qua tất cả các mục

Ví dụ

Thoát khỏi vòng lặp khi x là "chuối"

trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
in(x)
nếu x == "chuối"
phá vỡ

Tự mình thử »

Ví dụ

Thoát khỏi vòng lặp khi x là "chuối", nhưng lần này dấu ngắt đến trước bản in

trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
nếu x == "chuối"
phá vỡ
in(x)

Tự mình thử »


Học cách lọc dữ liệu bằng Python như một nhà phân tích dữ liệu

Vòng lặp trong python

Thử tham gia các buổi đào tạo thực hành với hướng dẫn từng bước từ chuyên gia. Hãy thử dự án có hướng dẫn được thực hiện với sự cộng tác của Coursera ngay bây giờ

Get started


Tuyên bố tiếp tục

Với câu lệnh continue, chúng ta có thể dừng vòng lặp hiện tại của vòng lặp và tiếp tục với vòng lặp tiếp theo

Ví dụ

Không in chuối

trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
nếu x == "chuối"
Tiếp tục
in(x)

Tự mình thử »


Hàm phạm vi ()

Để lặp qua một bộ mã một số lần xác định, chúng ta có thể sử dụng hàm range(),

Hàm range() trả về một dãy số, bắt đầu từ 0 theo mặc định và tăng dần theo 1 (theo mặc định) và kết thúc tại một số được chỉ định

Lưu ý rằng phạm vi (6) không phải là các giá trị từ 0 đến 6, mà là các giá trị từ 0 đến 5

Hàm range() mặc định là 0 làm giá trị bắt đầu, tuy nhiên có thể chỉ định giá trị bắt đầu bằng cách thêm một tham số. phạm vi (2, 6), có nghĩa là các giá trị từ 2 đến 6 (nhưng không bao gồm 6)

Hàm range() mặc định tăng chuỗi lên 1, tuy nhiên có thể chỉ định giá trị gia tăng bằng cách thêm tham số thứ ba. phạm vi (2, 30, 3)

Ví dụ

Tăng chuỗi với 3 (mặc định là 1)

cho x trong phạm vi (2, 30, 3)
in(x)

Tự mình thử »


Khác trong vòng lặp

Từ khóa else trong vòng lặp for chỉ định một khối mã sẽ được thực thi khi vòng lặp kết thúc

Ví dụ

In tất cả các số từ 0 đến 5 và in thông báo khi vòng lặp kết thúc

cho x trong phạm vi (6)
in(x)
khác
print("Cuối cùng cũng xong. ")

Tự mình thử »

Ghi chú. Khối else sẽ KHÔNG được thực thi nếu vòng lặp bị dừng bởi câu lệnh break

Ví dụ

Phá vỡ vòng lặp khi x là 3 và xem điều gì xảy ra với khối else

cho x trong phạm vi (6)
nếu x == 3. phá vỡ
in(x)
khác
print("Cuối cùng cũng xong. ")

Tự mình thử »


Vòng lồng nhau

Một vòng lặp lồng nhau là một vòng lặp bên trong một vòng lặp

"vòng lặp bên trong" sẽ được thực hiện một lần cho mỗi lần lặp lại "vòng lặp bên ngoài"

Ví dụ

In từng tính từ cho mỗi loại trái cây

adj = ["đỏ", "to", "ngon"]
trái cây = ["táo", "chuối", "anh đào"]

cho x trong adj
cho y trong trái cây
in(x, y)

Tự mình thử »


Tuyên bố vượt qua

Các vòng lặp for không thể để trống, nhưng nếu vì lý do nào đó bạn có một vòng lặp for không có nội dung, hãy đặt câu lệnh x1 để tránh bị lỗi