Vòng lặp while được sử dụng trong Python là gì?
Nathaniel Bowden tốt nghiệp Đại học Wheaton với bằng Cử nhân Khoa học Vật lý và Cử nhân Nghệ thuật bằng tiếng Tây Ban Nha. Thầy có 2 năm kinh nghiệm làm Trợ giảng cho bộ môn Vật lý Show
Shweta có bằng Thạc sĩ về Kỹ thuật Hóa sinh và là một người đam mê mã hóa Xem tiểu sửVòng lặp while trong Python là gì? . Hiểu sự khác biệt giữa vòng lặp while và vòng lặp for. Đã cập nhật. 28/12/2021
Vòng lặp While trong PythonCâu lệnh while trong python đặt một khối mã được thực thi lặp đi lặp lại cho đến khi một điều kiện bị sai lệch. Cấu trúc của vòng lặp while cho phép tổng số lần lặp hoặc số lần lặp không được biết ngay từ đầu. Ví dụ về các trường hợp sử dụng có thể liên tục lấy đầu vào của người dùng cho đến khi đầu vào chính xác, đọc các dòng từ tệp cho đến khi đạt được một phần thông tin cụ thể hoặc đánh giá thuật toán toán học cho đến khi đạt được độ chính xác mong muốn. vòng lặp while là một câu lệnh luồng điều khiển như for và if-elif-else. Định dạng cho mệnh đề while, trong python, là ('#' biểu thị nhận xét)
Hoạt động của vòng lặp while được minh họa trong Hình 1. Dấu chấm đen biểu thị mã trong chương trình trước vòng lặp while, giống như xác định 'đếm' bằng 0. Sau đó, vòng lặp while được nhập bằng cách đánh giá điều kiện được đưa ra sau câu lệnh 'while', được biểu thị bằng 'A' trong lưu đồ. Điều kiện có thể là bất kỳ biểu thức hoặc hàm nào trả về giá trị Boolean, i. e. Đúng hay sai; . Nếu 'A' đánh giá là Đúng, khối mã được thụt vào bên dưới 'trong khi', được biểu thị bằng 'B' trong hình và được minh họa bằng 'bản in' đầu tiên trong tập lệnh, được thực thi. Điều khiển sau đó quay trở lại điểm bắt đầu của 'trong khi' trong đó điều kiện 'A' được đánh giá lại và do đó, trình tự lặp lại cho đến khi điều kiện trở thành sai. Khi điều kiện sai, điều khiển sẽ chuyển sang mã sau câu lệnh while, được biểu thị bằng chấm đen được khoanh tròn trong Hình 1 Trong khi bạn đang ở phòng tập thể dụcHãy tưởng tượng bạn vừa mới bắt đầu tập luyện tại phòng tập thể dục địa phương. Bạn đã hoàn thành buổi tập tim mạch vào tối qua, đó là một phần của chương trình dành cho người mới bắt đầu dành cho bạn. Hôm nay là ngày cho một số bài tập rèn luyện sức mạnh. Huấn luyện viên của bạn yêu cầu bạn hoàn thành một hiệp squats trong khi giữ 8 lb. quả tạ sử dụng hình thức thích hợp. Hãy xem - một bộ chứa 15 lần lặp lại. Bạn bắt đầu từ từ, để tránh làm việc quá sức hoặc bị thương. Tuy nhiên, khi bạn tiếp tục tập, bạn thấy rằng việc duy trì phong độ phù hợp trở nên khó khăn hơn - và nó bắt đầu đau - ngay ở lần lặp lại thứ 12. Bạn dừng bài tập để tránh chấn thương Bạn vừa làm gì vậy? . Điều duy nhất bạn không biết trước là, khi lặp lại, bạn sẽ bắt đầu ảnh hưởng đến hình thức phù hợp, vì nó khác nhau ở mỗi người tùy thuộc vào mức độ sức mạnh Vòng lặp while trong Python tuân theo một mẫu tương tự. Chúng ta thường sử dụng vòng lặp while khi chúng ta không biết trước phải lặp đi lặp lại một thứ gì đó bao nhiêu lần Quả sung. 1. Lưu đồ thực hiện vòng lặp While Ví dụ về vòng lặp While trong PythonPhần trước đã mô tả cách sử dụng, cú pháp và luồng điều khiển của vòng lặp while trong python. Xin nhắc lại, cú pháp vòng lặp while là
Sau đây là một số ví dụ về cách viết vòng lặp while trong Python cho các trường hợp sử dụng khác nhau đếm ngược hoạt hìnhChương trình sau đây đếm ngược từ điểm bắt đầu do người dùng nhập đến 0
Đầu ra của chương trình là
trong đó có khoảng 1 giây tạm dừng giữa mỗi dòng 'T-#'. (Để xem kết quả hoạt hình, hãy sao chép và dán mã vào tập lệnh Python, sổ ghi chép hoặc trình biên dịch trực tuyến như repl. nó) Trong chương trình, hàm 'input()' được sử dụng để lấy thời gian 'bắt đầu' từ người dùng, được đặt là 'int' vì 'input' trả về đầu vào của người dùng dưới dạng chuỗi. Các hàm 'print()' xuất số đếm bằng cách sử dụng các chuỗi được định dạng (như f'T-{count}', trong đó 'f' báo cho trình thông dịch đặt giá trị của 'count' vào chuỗi). Thời gian. sleep()' sẽ tạm dừng chương trình một thời gian ngắn để chương trình thực thi với tốc độ mà con người có thể cảm nhận được. Trước khi vào vòng lặp và trên mỗi lần lặp, điều kiện 'đếm >= 0' được chọn; Kiểm tra đầu vào của người dùngNhư đã đề cập trước đó, vòng lặp while là tốt nhất khi tổng số lần lặp không biết trước. Khi người dùng được truy vấn đầu vào và đầu vào đó phải được kiểm tra tính chính xác, vòng lặp while có thể được sử dụng để lặp lại truy vấn cho đến khi đầu vào hợp lệ. Ví dụ bên dưới sử dụng vòng lặp while để lấy số điện thoại hợp lệ ở Hoa Kỳ từ người dùng. Chương trình sử dụng mô-đun biểu thức chính quy tích hợp sẵn của Python 're' để khớp chuỗi đầu vào với định dạng số điện thoại mong muốn
Một ví dụ về đầu ra là
Chương trình đang tìm kiếm một kết quả khớp chính xác của định dạng được chỉ định, vì vậy ngay cả khi số Hoa Kỳ được nhập bằng dấu cách, vòng lặp được đánh giá lại, nhưng đầu vào thành công khi nhập cùng một số bằng dấu gạch ngang The variable 'phoneRE' is a raw string (the r"..." syntax) with special regular expression syntax which indicates it should match a 3-digit area code, 3-digit provider code, 4-digit subscriber number, and optional 4-digit extension in the named fields (?P Các hoạt động phù hợp thực sự được thực hiện bởi re. fullmatch(), trả về Không có nếu chuỗi đầu vào không khớp hoàn toàn với phoneRE. Không có giá trị thực nào là Sai, vì vậy nếu đầu vào ban đầu không hợp lệ, vòng lặp while sẽ được nhập và truy vấn và so khớp sẽ lặp lại, nếu không thì vòng lặp while sẽ bị bỏ qua. Sau khi có được kết quả trùng khớp, vòng lặp sẽ thoát và kết quả được in ở định dạng chuẩn, giải nén các trường được đặt tên khỏi biểu thức chính quy Vòng lặp vô hạnNếu một vòng lặp trong Python được triển khai không chính xác, một vòng lặp vô hạn có thể dẫn đến. Vòng lặp vô hạn là vòng lặp lặp đi lặp lại vô thời hạn vì điều kiện để vòng lặp tiếp tục không bao giờ có thể sai trong chương trình. Ví dụ: nếu dòng 'đếm -= 1' không có trong mã Hoạt hình đếm ngược ở trên,
đầu ra của chương trình sẽ trở thành
sẽ tiếp tục in dòng 'T-5' ra đầu ra một lần mỗi giây cho đến khi dừng ở bên ngoài. Do câu lệnh giảm dần bị thiếu, đếm >= 0 luôn đúng và vòng lặp tiếp tục chạy. Vòng lặp trong ví dụ này cũng sẽ là vô hạn nếu có số giảm, 'đếm -= 1', nhưng điều kiện được viết sai thành 'đếm <= bắt đầu', điều này sẽ tiếp tục đếm ngược cho đến khi dừng Một vòng lặp vô hạn được dừng bên ngoài bằng cách sử dụng ngắt bàn phím, có thể đạt được bằng cách nhấn Ctrl + C để hủy quá trình hoặc nhấn nút Dừng (hình vuông màu đen) (cái sau là tùy chọn duy nhất trong Jupyter Notebooks) Đối với Vòng lặp Vs Trong khi Vòng lặpTrái ngược với vòng lặp while, được sử dụng với số lần lặp lại không xác định, vòng lặp for được sử dụng trong Python bất cứ khi nào một khối mã được thực thi với số lần được xác định trước. Ví dụ Animated Countdown ở trên có thể được viết lại dưới dạng một vòng lặp for như sau (điều này cũng sẽ tránh được lỗi Vòng lặp vô hạn do quên giảm 'đếm') ________số 8Việc viết lại này hoạt động vì tập hợp các số nguyên từ 'bắt đầu' đến 0 là một tập hợp hữu hạn. Cú pháp 'range(start+1)' tạo dãy số từ 0 đến start+1, nhưng không bao gồm start+1. Trình tự này sau đó được 'đảo ngược' trước khi vòng lặp for lặp qua từng phần tử trong đó, liên tục gán biến 'count' cho một giá trị mới từ phạm vi. Sự khác biệt giữa các vòng lặp while và for có thể được tóm tắt như sau cho vòng lặp
Trong khi lặp lại
Tom tăt bai họcVòng lặp while trong Python là một câu lệnh luồng điều khiển cho phép một khối mã được thực thi với số lần không xác định, miễn là điều kiện liên quan đúng. Nó có thể được sử dụng ở bất cứ nơi nào cần một vòng lặp, nhưng hữu ích nhất khi không thể xác định số lần lặp trước khi vào vòng lặp. Cú pháp là
Điều quan trọng là khối mã được thực thi trong vòng lặp cập nhật điều kiện theo một cách nào đó. Không làm được điều này có thể dẫn đến một vòng lặp vô hạn, vòng lặp này phải được kết thúc bằng ngắt bàn phím bằng cách gõ Ctrl+C Sự định nghĩaVòng lặp while là một câu lệnh luồng điều khiển cho phép mã được thực thi lặp đi lặp lại, tùy thuộc vào việc một điều kiện có được thỏa mãn hay không. Miễn là một số điều kiện là đúng, 'trong khi' lặp lại mọi thứ bên trong khối vòng lặp. Nó dừng thực thi khối khi và chỉ khi điều kiện không thành công Vòng lặp While so với Vòng lặp ForCác vòng lặp 'while' và 'for' trong Python rất giống nhau và rất dễ bị nhầm lẫn. Do đó, hãy nhớ rằng vòng lặp 'for' lặp lại với số lần được xác định trước tùy thuộc vào độ dài của chuỗi. Mặt khác, vòng lặp 'while' sẽ tiếp tục chạy miễn là điều kiện còn đúng Trong ví dụ về phòng tập thể dục mà chúng ta đã thấy ở trên, bạn sẽ sử dụng vòng lặp 'for' nếu bạn biết trước rằng bạn có thể hoàn thành tất cả 15 lần lặp lại với 8 lb. quả tạ, sử dụng hình thức thích hợp. Tuy nhiên, vì việc lặp lại một bài tập rèn luyện sức mạnh cũng phụ thuộc vào mức độ thể lực của một cá nhân, nên rất khó để dự đoán khi nào mỗi cá nhân có thể phải dừng lại. Trong trường hợp này, bạn sẽ cần sử dụng vòng lặp 'while' Do đó, bạn nên sử dụng vòng lặp 'while' khi cần thực hiện một thao tác lặp đi lặp lại nhưng không biết trước số lần lặp là bao nhiêu cú phápCú pháp của vòng lặp 'while' rất đơn giản và trông giống như thế này Lưu ý rằng khối điều kiện được thụt vào Hãy viết một số mãBây giờ chúng ta đã biết cú pháp của vòng lặp 'while', hãy xem nó hoạt động như thế nào ví dụ 1Giả sử bạn đang viết chương trình cho chu trình giặt trong máy giặt của mình. Hãy cài đặt chu trình giặt để chạy 2 lần. Do đó, đoạn mã sau sẽ lặp lại 2 lần bằng cách sử dụng vòng lặp 'while' 0 Đầu ra của ví dụ 11 Trong ví dụ này, chương trình lặp đi lặp lại nội dung của vòng lặp while cho đến khi điều kiện được đáp ứng, i. e. cho đến khi giá trị của x tăng lên 2 ví dụ 2Hãy viết một đoạn mã cho máy ATM, trong đó bạn quẹt thẻ và máy ATM hỏi mã PIN của bạn. Nó sẽ tiếp tục yêu cầu bạn nhập mã PIN cho đến khi bạn nhập đúng mã Trong chương trình sau, dòng mã đầu tiên tạo ra một chuỗi trống gọi là 'pin' sẽ chứa các số PIN khác nhau. Dòng mã thứ hai và thứ ba kiểm tra điều kiện và giữ cho khối vòng lặp chạy cho đến khi người dùng nhập đúng mã PIN, mã này sẽ là 'abcd'. Do đó, mã lặp lại điều kiện cho đến khi nó đúng 2 Đầu ra của ví dụ 23 Tom tăt bai họcVòng lặp while là một câu lệnh luồng điều khiển lặp đi lặp lại việc thực thi một khối mã cho đến khi điều kiện được thỏa mãn. Nó chỉ dừng thực thi khối nếu điều kiện không thành công. Người ta nên sử dụng vòng lặp 'while' khi cần thực hiện một thao tác lặp lại, nhưng không biết trước cần bao nhiêu lần lặp Đó không phải là dễ dàng? . Bây giờ, 'trong khi' bạn có thêm thời gian, hãy đảm bảo rằng bạn thử các ví dụ về mã và cũng xây dựng mã của riêng mình. Mã hóa vui vẻ Để mở khóa bài học này, bạn phải là Người học. comThành viên. Thông tin bổ sung Trong khi bạn đang ở phòng tập thể dụcHãy tưởng tượng bạn vừa mới bắt đầu tập luyện tại phòng tập thể dục địa phương. Bạn đã hoàn thành buổi tập tim mạch vào tối qua, đó là một phần của chương trình dành cho người mới bắt đầu dành cho bạn. Hôm nay là ngày cho một số bài tập rèn luyện sức mạnh. Huấn luyện viên của bạn yêu cầu bạn hoàn thành một hiệp squats trong khi giữ 8 lb. quả tạ sử dụng hình thức thích hợp. Hãy xem - một bộ chứa 15 lần lặp lại. Bạn bắt đầu từ từ, để tránh làm việc quá sức hoặc bị thương. Tuy nhiên, khi bạn tiếp tục tập, bạn thấy rằng việc duy trì phong độ phù hợp trở nên khó khăn hơn - và nó bắt đầu đau - ngay ở lần lặp lại thứ 12. Bạn dừng bài tập để tránh chấn thương Bạn vừa làm gì vậy? . Điều duy nhất bạn không biết trước là, khi lặp lại, bạn sẽ bắt đầu ảnh hưởng đến hình thức phù hợp, vì nó khác nhau ở mỗi người tùy thuộc vào mức độ sức mạnh Vòng lặp while trong Python tuân theo một mẫu tương tự. Chúng ta thường sử dụng vòng lặp while khi chúng ta không biết trước phải lặp đi lặp lại một thứ gì đó bao nhiêu lần Sự định nghĩaVòng lặp while là một câu lệnh luồng điều khiển cho phép mã được thực thi lặp đi lặp lại, tùy thuộc vào việc một điều kiện có được thỏa mãn hay không. Miễn là một số điều kiện là đúng, 'trong khi' lặp lại mọi thứ bên trong khối vòng lặp. Nó dừng thực thi khối khi và chỉ khi điều kiện không thành công Vòng lặp While so với Vòng lặp ForCác vòng lặp 'while' và 'for' trong Python rất giống nhau và rất dễ bị nhầm lẫn. Do đó, hãy nhớ rằng vòng lặp 'for' lặp lại với số lần được xác định trước tùy thuộc vào độ dài của chuỗi. Mặt khác, vòng lặp 'while' sẽ tiếp tục chạy miễn là điều kiện còn đúng Trong ví dụ về phòng tập thể dục mà chúng ta đã thấy ở trên, bạn sẽ sử dụng vòng lặp 'for' nếu bạn biết trước rằng bạn có thể hoàn thành tất cả 15 lần lặp lại với 8 lb. quả tạ, sử dụng hình thức thích hợp. Tuy nhiên, vì việc lặp lại một bài tập rèn luyện sức mạnh cũng phụ thuộc vào mức độ thể lực của một cá nhân, nên rất khó để dự đoán khi nào mỗi cá nhân có thể phải dừng lại. Trong trường hợp này, bạn sẽ cần sử dụng vòng lặp 'while' Do đó, bạn nên sử dụng vòng lặp 'while' khi cần thực hiện một thao tác lặp đi lặp lại nhưng không biết trước số lần lặp là bao nhiêu cú phápCú pháp của vòng lặp 'while' rất đơn giản và trông giống như thế này Lưu ý rằng khối điều kiện được thụt vào Hãy viết một số mãBây giờ chúng ta đã biết cú pháp của vòng lặp 'while', hãy xem nó hoạt động như thế nào ví dụ 1Giả sử bạn đang viết chương trình cho chu trình giặt trong máy giặt của mình. Hãy cài đặt chu trình giặt để chạy 2 lần. Do đó, đoạn mã sau sẽ lặp lại 2 lần bằng cách sử dụng vòng lặp 'while' 0 Đầu ra của ví dụ 11 Trong ví dụ này, chương trình lặp đi lặp lại nội dung của vòng lặp while cho đến khi điều kiện được đáp ứng, i. e. cho đến khi giá trị của x tăng lên 2 ví dụ 2Hãy viết một đoạn mã cho máy ATM, trong đó bạn quẹt thẻ và máy ATM hỏi mã PIN của bạn. Nó sẽ tiếp tục yêu cầu bạn nhập mã PIN cho đến khi bạn nhập đúng mã Trong chương trình sau, dòng mã đầu tiên tạo ra một chuỗi trống gọi là 'pin' sẽ chứa các số PIN khác nhau. Dòng mã thứ hai và thứ ba kiểm tra điều kiện và giữ cho khối vòng lặp chạy cho đến khi người dùng nhập đúng mã PIN, mã này sẽ là 'abcd'. Do đó, mã lặp lại điều kiện cho đến khi nó đúng 2 Đầu ra của ví dụ 23 Tom tăt bai họcVòng lặp while là một câu lệnh luồng điều khiển lặp đi lặp lại việc thực thi một khối mã cho đến khi điều kiện được thỏa mãn. Nó chỉ dừng thực thi khối nếu điều kiện không thành công. Người ta nên sử dụng vòng lặp 'while' khi cần thực hiện một thao tác lặp lại, nhưng không biết trước cần bao nhiêu lần lặp Đó không phải là dễ dàng? . Bây giờ, 'trong khi' bạn có thêm thời gian, hãy đảm bảo rằng bạn thử các ví dụ về mã và cũng xây dựng mã của riêng mình. Mã hóa vui vẻ Để mở khóa bài học này, bạn phải là Người học. comThành viên. Các câu hỏi thường gặp Làm thế nào để bạn sử dụng trong khi trong Python?Vòng lặp while được sử dụng để thực thi lặp đi lặp lại khối mã được thụt lề miễn là điều kiện Đúng-Sai theo sau từ 'trong khi' đánh giá là Đúng. Đó là lý tưởng cho các tình huống không thể xác định trước tổng số lần lặp cần thiết, chẳng hạn như lấy đầu vào của người dùng và kiểm tra nó cho đến khi nhập đúng đầu vào Câu lệnh while trong Python là gì?Từ 'while' trong Python là một từ dành riêng tạo vòng lặp while bằng cú pháp. trong khi điều kiện. do_stuff. Nếu do_stuff nhiều hơn một dòng, nó sẽ được đặt ở dòng tiếp theo và thụt vào. 'Điều kiện' được đánh giá trước mỗi lần lặp của vòng lặp và 'do_stuff' được thực thi miễn là 'điều kiện' là đúng Vòng lặp while Python là gì?Một vòng lặp while có cú pháp 'điều kiện while. do_stuff' trong đó 'do_stuff' thường được đặt ở dòng tiếp theo và thụt vào. Nó thực thi các câu lệnh trong 'do_stuff' lặp đi lặp lại miễn là 'điều kiện' là đúng Đăng ký để xem bài học nàyBạn là học sinh hay giáo viên? tôi là học sinh tôi là giáo viên Mở khóa giáo dục của bạnTự mình khám phá lý do tại sao 30 triệu người sử dụng Study. comTrở thành một nghiên cứu. thành viên com và bắt đầu học ngay bây giờTrở thành thành viênĐã là thành viên hay chưa? Trở lạiTài nguyên do giáo viên tạo ra cho giáo viênHơn 30.000 bài học video & tài nguyên giảng dạy‐tất cả ở một nơi. bài học video Câu đố và Bảng tính Tích hợp lớp học kế hoạch bài học Tôi chắc chắn sẽ giới thiệu Study. com đến các đồng nghiệp của tôi. Nó giống như một giáo viên vung cây đũa thần và làm việc cho tôi. Tôi cảm thấy như đó là một cứu cánh Vòng lặp while dùng để làm gì?Vòng lặp "While" được sử dụng để lặp lại một khối mã cụ thể với số lần không xác định, cho đến khi một điều kiện được đáp ứng . Ví dụ: nếu chúng tôi muốn hỏi người dùng một số từ 1 đến 10, chúng tôi không biết người dùng có thể nhập số lớn hơn bao nhiêu lần, vì vậy chúng tôi tiếp tục hỏi "trong khi số đó không nằm trong khoảng từ 1 đến 10".
Tại sao trong khi true được sử dụng trong Python?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 trong khi một điều kiện nhất định là Đúng và nó chỉ dừng lại khi điều kiện trở thành Sai. |