Ngắt vòng lặp while Python
Trong khi các vòng lặp là cấu trúc lập trình rất mạnh mẽ mà bạn có thể sử dụng trong các chương trình của mình để lặp lại một chuỗi các câu lệnh Show
Trong bài viết này, bạn sẽ học
Bạn sẽ tìm hiểu cách các vòng lặp while hoạt động đằng sau hậu trường với các ví dụ, bảng và sơ đồ Bạn đã sẵn sàng chưa? . 🔅 🔹 Mục đích và các trường hợp sử dụng vòng lặp WhileHãy bắt đầu với mục đích của vòng lặp while. Chúng nó được dùng cho cái gì? Chúng được sử dụng để lặp lại một chuỗi các câu lệnh với số lần không xác định. Loại vòng lặp này chạy khi điều kiện cho trước là 7 và nó chỉ dừng khi điều kiện trở thành 8Khi chúng tôi viết một vòng lặp while, chúng tôi không xác định rõ ràng có bao nhiêu lần lặp sẽ được hoàn thành, chúng tôi chỉ viết điều kiện phải là 7 để tiếp tục quá trình và 8 để dừng nó💡 Mẹo. nếu điều kiện của vòng lặp while không bao giờ có giá trị là 8, thì chúng ta sẽ có một vòng lặp vô hạn, là vòng lặp không bao giờ dừng (về lý thuyết) mà không có sự can thiệp từ bên ngoàiĐây là một số ví dụ về các trường hợp sử dụng thực tế của vòng lặp while
🔸 Cách vòng lặp hoạt độngBây giờ bạn đã biết vòng lặp while được sử dụng để làm gì, hãy xem logic chính của chúng và cách chúng hoạt động đằng sau hậu trường. Ở đây chúng ta có một sơ đồ Trong khi lặp lạiHãy chia nhỏ điều này chi tiết hơn
Một trong những đặc điểm quan trọng nhất của vòng lặp while là các biến được sử dụng trong điều kiện vòng lặp không được cập nhật tự động. Chúng tôi phải cập nhật giá trị của chúng một cách rõ ràng bằng mã của mình để đảm bảo rằng vòng lặp cuối cùng sẽ dừng khi điều kiện ước tính thành 8🔹 Cú pháp chung của vòng lặp WhileTuyệt quá. Bây giờ bạn đã biết vòng lặp while hoạt động như thế nào, vì vậy hãy đi sâu vào mã và xem cách bạn có thể viết vòng lặp while bằng Python. Đây là cú pháp cơ bản Vòng lặp While (Cú pháp)Đây là những yếu tố chính (theo thứ tự)
💡 Mẹo. Hướng dẫn kiểu Python (PEP 8) khuyến nghị sử dụng 4 khoảng trắng cho mỗi cấp độ thụt lề. Các tab chỉ nên được sử dụng để duy trì tính nhất quán với mã đã được thụt lề bằng các tab 🔸 Ví dụ về vòng lặp WhileBây giờ bạn đã biết cách vòng lặp while hoạt động và cách viết chúng trong Python, hãy xem cách chúng hoạt động đằng sau hậu trường với một số ví dụ Vòng lặp While cơ bản hoạt động như thế nàoỞ đây chúng ta có một vòng lặp while cơ bản in ra giá trị của 62 trong khi 62 nhỏ hơn 8 ( 64) 0Nếu chúng ta chạy mã, chúng ta sẽ thấy đầu ra này 1Hãy xem điều gì xảy ra đằng sau hậu trường khi mã chạy
💡 Mẹo. Nếu điều kiện của vòng lặp while là 8 trước khi bắt đầu lần lặp đầu tiên, thì vòng lặp while thậm chí sẽ không bắt đầu chạyĐầu vào của người dùng bằng vòng lặp WhileBây giờ hãy xem một ví dụ về vòng lặp while trong một chương trình lấy đầu vào của người dùng. Chúng ta sẽ sử dụng hàm 29 để yêu cầu người dùng nhập một số nguyên và số nguyên đó sẽ chỉ được thêm vào danh sách nếu nó chẵnĐây là mã
Điều kiện vòng lặp là ________ 380, vì vậy vòng lặp sẽ chạy trong khi độ dài của danh sách ________ 381 hoàn toàn nhỏ hơn 4 Hãy phân tích từng dòng chương trình này
3
6
2💡 Mẹo. Ta cần chuyển (cast) giá trị do người dùng nhập thành số nguyên bằng hàm 86 trước khi gán cho biến vì hàm 29 trả về chuỗi (source)
8
1
Nếu chúng tôi chạy mã này với đầu vào của người dùng tùy chỉnh, chúng tôi sẽ nhận được đầu ra sau 2Bảng này tóm tắt những gì diễn ra ở hậu trường khi mã chạy 💡 Mẹo. Giá trị ban đầu của 89 là 10 vì danh sách ban đầu trống. Cột cuối cùng của bảng hiển thị độ dài của danh sách ở cuối lần lặp hiện tại. Giá trị này được sử dụng để kiểm tra điều kiện trước khi bắt đầu lần lặp tiếp theoNhư bạn có thể thấy trong bảng, người dùng nhập các số nguyên chẵn vào lần lặp thứ hai, thứ ba, thứ sáu và thứ tám và các giá trị này được thêm vào danh sách 81Trước khi bắt đầu lặp lại "thứ chín", điều kiện được kiểm tra lại nhưng bây giờ nó ước tính thành 8 vì danh sách 81 có bốn phần tử (độ dài 4), vì vậy vòng lặp dừng lạiNếu chúng tôi kiểm tra giá trị của danh sách 81 khi quá trình đã hoàn tất, chúng tôi sẽ thấy điều này 9Chính xác như những gì chúng ta mong đợi, vòng lặp while dừng khi điều kiện 80 được ước tính thành 8Bây giờ bạn đã biết các vòng lặp while hoạt động đằng sau hậu trường như thế nào và bạn đã thấy một số ví dụ thực tế, vì vậy hãy đi sâu vào yếu tố chính của vòng lặp while. điều kiện 🔹 Mẹo về Điều kiện trong Vòng lặp WhileTrước khi bắt đầu làm việc với vòng lặp while, bạn nên biết rằng điều kiện vòng lặp đóng vai trò trung tâm trong chức năng và đầu ra của vòng lặp while Bạn phải rất cẩn thận với toán tử so sánh mà bạn chọn vì đây là nguồn lỗi rất phổ biến Ví dụ, các lỗi phổ biến bao gồm
Điều này có thể ảnh hưởng đến số lần lặp của vòng lặp và thậm chí cả đầu ra của nó Hãy xem một ví dụ Nếu chúng ta viết vòng lặp while này với điều kiện 21 10Chúng tôi thấy đầu ra này khi mã chạy 11Vòng lặp hoàn thành ba lần lặp và nó dừng khi 62 bằng với 23Bảng này minh họa những gì diễn ra ở hậu trường khi mã chạy
Trong trường hợp này, chúng tôi đã sử dụng 17 làm toán tử so sánh trong điều kiện, nhưng bạn nghĩ điều gì sẽ xảy ra nếu chúng tôi sử dụng 18 thay thế? 12Chúng tôi thấy đầu ra này 13Vòng lặp hoàn thành một lần lặp nữa vì bây giờ chúng ta đang sử dụng toán tử "nhỏ hơn hoặc bằng" 18 , vì vậy điều kiện vẫn là 7 khi 62 bằng 23Bảng này minh họa những gì xảy ra đằng sau hậu trường Bốn lần lặp được hoàn thành. Điều kiện được kiểm tra lại trước khi bắt đầu lặp lại "thứ năm". Tại thời điểm này, giá trị của 62 là 106, vì vậy điều kiện của 107 là 8 và vòng lặp dừng lại🔸 Vòng lặp While vô hạnBây giờ bạn đã biết vòng lặp while hoạt động như thế nào, nhưng bạn nghĩ điều gì sẽ xảy ra nếu điều kiện của vòng lặp while không bao giờ có giá trị là 8?Vòng lặp While vô hạn là gì?Hãy nhớ rằng các vòng lặp while không tự động cập nhật các biến (chúng tôi chịu trách nhiệm thực hiện điều đó một cách rõ ràng bằng mã của mình). Vì vậy, không có gì đảm bảo rằng vòng lặp sẽ dừng trừ khi chúng ta viết mã cần thiết để tạo điều kiện 8 tại một số thời điểm trong quá trình thực hiện vòng lặpNếu chúng ta không làm điều này và điều kiện luôn có giá trị là 7, thì chúng ta sẽ có một vòng lặp vô hạn, đó là vòng lặp while chạy vô thời hạn (theo lý thuyết)Các vòng lặp vô hạn thường là kết quả của một lỗi, nhưng chúng cũng có thể được cố ý gây ra khi chúng ta muốn lặp lại một chuỗi các câu lệnh vô thời hạn cho đến khi tìm thấy một câu lệnh 6Hãy xem hai loại vòng lặp vô hạn này trong các ví dụ dưới đây 💡 Mẹo. Lỗi là lỗi trong chương trình gây ra kết quả không chính xác hoặc không mong muốn Ví dụ về Vòng lặp vô hạnĐây là một ví dụ về một vòng lặp vô hạn không chủ ý gây ra bởi một lỗi trong chương trình 14Phân tích mã này trong giây lát Bạn không nhận thấy một cái gì đó bị thiếu trong phần thân của vòng lặp? Đúng rồi Giá trị của biến 62 không bao giờ được cập nhật (nó luôn là 114). Do đó, điều kiện 115 luôn là 7 và vòng lặp không bao giờ dừngNếu chúng ta chạy mã này, đầu ra sẽ là một chuỗi "vô hạn" gồm các thông báo 117 vì phần thân của vòng lặp 118 sẽ chạy vô thời hạn 15Để dừng chương trình, chúng ta cần ngắt vòng lặp theo cách thủ công bằng cách nhấn 119Khi thực hiện, chúng ta sẽ thấy lỗi 120 tương tự như lỗi nàyĐể khắc phục vòng lặp này, chúng tôi sẽ cần cập nhật giá trị của 62 trong phần thân của vòng lặp để đảm bảo rằng điều kiện 115 cuối cùng sẽ ước tính thành 8Đây là một giải pháp khả thi, tăng giá trị của 62 lên 2 trên mỗi lần lặp lại 16Tuyệt quá. Bây giờ bạn đã biết cách khắc phục các vòng lặp vô hạn do lỗi gây ra. Bạn chỉ cần viết mã để đảm bảo rằng điều kiện cuối cùng sẽ đánh giá là 8Hãy bắt đầu đi sâu vào các vòng lặp vô hạn có chủ ý và cách chúng hoạt động 🔹 Cách tạo vòng lặp vô hạn với While TrueChúng ta có thể cố ý tạo một vòng lặp vô hạn bằng cách sử dụng 5. Trong trường hợp này, vòng lặp sẽ chạy vô thời hạn cho đến khi quá trình bị dừng bởi sự can thiệp từ bên ngoài ( 119) hoặc khi tìm thấy câu lệnh 6 (bạn sẽ tìm hiểu thêm về 6 ngay sau đây)Đây là cú pháp cơ bản Thay vì viết một điều kiện sau từ khóa 38, chúng ta chỉ cần viết trực tiếp giá trị thực để chỉ ra rằng điều kiện sẽ luôn là 7Ở đây chúng ta có một ví dụ 17Vòng lặp chạy cho đến khi nhấn 119, nhưng Python cũng có câu lệnh 6 mà chúng ta có thể sử dụng trực tiếp trong mã của mình để dừng loại vòng lặp nàyCâu lệnh # Define the list nums = [] # The loop will run while the length of the # list nums is less than 4 while len(nums) < 4: # Ask for user input and store it in a variable as an integer. user_input = int(input("Enter an integer: ")) # If the input is an even number, add it to the list if user_input % 2 == 0: nums.append(user_input)6Câu lệnh này được sử dụng để dừng một vòng lặp ngay lập tức. Bạn nên coi nó như một "dấu hiệu dừng" màu đỏ mà bạn có thể sử dụng trong mã của mình để có nhiều quyền kiểm soát hơn đối với hành vi của vòng lặp Theo Tài liệu Python Câu lệnh6, giống như trong C, thoát ra khỏi vòng lặp Sơ đồ này minh họa logic cơ bản của câu lệnh 6Câu lệnh 6Đây là logic cơ bản của câu lệnh 6
Chúng ta có thể sử dụng 6 để dừng vòng lặp while khi một điều kiện được đáp ứng tại một thời điểm thực thi cụ thể của nó, vì vậy bạn thường sẽ tìm thấy nó trong một câu lệnh có điều kiện, như thế này 18Điều này dừng vòng lặp ngay lập tức nếu điều kiện là 7💡 Mẹo. Bạn có thể (về lý thuyết) viết một câu lệnh 6 ở bất kỳ đâu trong phần thân của vòng lặp. Nó không nhất thiết phải là một phần của điều kiện, nhưng chúng ta thường sử dụng nó để dừng vòng lặp khi một điều kiện nhất định là 7Ở đây chúng ta có một ví dụ về 6 trong vòng lặp 5Hãy xem chi tiết hơn Dòng đầu tiên định nghĩa một vòng lặp 5 sẽ chạy vô thời hạn cho đến khi tìm thấy câu lệnh 6 (hoặc cho đến khi nó bị gián đoạn bởi 119) 19Dòng thứ hai yêu cầu đầu vào của người dùng. Đầu vào này được chuyển đổi thành một số nguyên và được gán cho biến 85 2Dòng thứ ba kiểm tra xem đầu vào có phải là số lẻ không 1Nếu đúng, thông báo 155 được in ra và câu lệnh 6 dừng vòng lặp ngay lập tức 2Ngược lại, nếu đầu vào là số chẵn, thông báo 157 được in ra và vòng lặp bắt đầu lại 3Vòng lặp sẽ chạy vô thời hạn cho đến khi một số nguyên lẻ được nhập vào vì đó là cách duy nhất mà câu lệnh 6 sẽ được tìm thấyỞ đây chúng tôi có một ví dụ với đầu vào người dùng tùy chỉnh 4🔸 Tóm lại
Tôi thực sự hy vọng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn đã biết cách làm việc với Vòng lặp While trong Python Theo dõi tôi trên Twitter @EstefaniaCassN và nếu bạn muốn tìm hiểu thêm về chủ đề này, hãy xem khóa học trực tuyến của tôi Vòng lặp Python và Kỹ thuật lặp. Mới bắt đầu đến nâng cao QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Chúng ta có thể sử dụng vòng lặp ngắt trong khi Python không?Câu lệnh break có thể được sử dụng trong cả vòng lặp while và for .
Làm cách nào tôi có thể phá vỡ vòng lặp while?Câu lệnh break hoàn toàn thoát khỏi vòng lặp for hoặc while . Để bỏ qua phần còn lại của hướng dẫn trong vòng lặp và bắt đầu lần lặp tiếp theo, hãy sử dụng câu lệnh tiếp tục. break không được xác định bên ngoài vòng lặp for hoặc while. Để thoát khỏi một chức năng, sử dụng return.
Bạn có thể phá vỡ một vòng lặp đúng không?Bạn có thể dừng vòng lặp vô hạn bằng CTRL + C. Bạn có thể cố ý tạo một vòng lặp vô hạn với while True. Câu lệnh break có thể dùng để dừng vòng lặp while ngay lập tức . |