Vòng lặp while¶
Tóm lược nội dung
Bài này trình bày:
- Vòng lặp while
- Lệnh
breakvàcontinue
Khái quát¶
Vòng lặp for luôn đi kèm với một dãy số xác định từ hàm range(), đồng nghĩa ta biết rõ số lần thực hiện của thao tác.
Tuy nhiên, thực tế có nhiều tình huống mà ta không thể biết trước số lần thực hiện, chẳng hạn như:
- Đăng nhập tài khoản: người dùng phải nhập mật khẩu cho đến khi đúng thì thôi.
- Trò chơi điện tử: trong khi chưa vượt qua màn chơi, người chơi phải chơi lại.
Đối với những tình huống này, ta không thể dùng for, mà thay vào đó là vòng lặp while.
Khái niệm vòng lặp while
Câu lệnh while là một dạng cấu trúc lặp, áp dụng khi ta không biết trước số lần lặp của một thao tác nào đó.
Cú pháp¶
Vòng lặp while hoạt động như sau:
- Máy tính kiểm tra
điều_kiện. - Nếu
điều_kiệnlàTruethìkhối_lệnhsẽ được thực hiện. Sau đó quay về bước 1. - Nếu
điều_kiệnlàFalsethì thoát khỏi vòng lặp.
Nói cách khác, cơ chế của while là: trong khi điều_kiện còn đúng thì còn làm.
Ví dụ:
Dòng lệnh 5 và 6 thực hiện lặp nhiều lần thao tác print().
Warning
Vì điều kiện i < n luôn là True nên print() sẽ được lặp vô số lần.
Do đó, hãy cẩn thận khi bấm nút Run. Tác giả chỉ code minh họa, chứ không tin lắm vào độ can đảm của bạn.
Để vòng lặp while dừng lại sau một số lần lặp nào đó, ta phải có câu lệnh làm cho điều kiện trở thành False.
Ví dụ:
Bổ sung dòng lệnh 7 để tăng giá trị của i trong mỗi lần lặp.
- Trong Python,
i = i + 1có thể viết ngắn gọn thànhi += 1.
Chạy đoạn mã trên, kết quả như sau:
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Coding is absolutely fun.
Lệnh break¶
break
Lệnh break dùng để dừng vòng lặp ở nửa chừng, bỏ qua toàn bộ các lệnh còn lại trong thân vòng lặp.
Nói cách khác, break hoạt động như một "nút dừng khẩn cấp", "ngắt ngang" vòng lặp khi có điều kiện đặc biệt xảy ra.
Ví dụ:
Dòng lệnh 9 sẽ ngắt vòng lặp khi điều kiện i đạt đến 4.
Chạy đoạn mã trên, kết quả như sau:
Lệnh continue¶
continue
Lệnh continue được dùng để bỏ qua các lệnh còn lại trong lần lặp hiện hành và chuyển sang lần lặp tiếp theo.
Ví dụ:
Dòng lệnh 9 bỏ qua thao tác print() khi i đạt đến 3, quay trở lại dòng lệnh 5 để kiểm tra điều kiện cho lần lặp mới.
Chạy đoạn mã trên, kết quả như sau:
Lưu ý
Lệnh break và continue cũng áp dụng được trong vòng lặp for.
Mã nguồn¶
Code đầy đủ được đặt tại:
Sơ đồ tóm tắt¶
Some English words¶
| Vietnamese | Tiếng Anh |
|---|---|
| lặp với số lần không biết trước | indefinite iteration |
| ngắt (vòng lặp, chương trình) | break |
| vòng lặp vô tận | infinite loop |