btvn.vn

Vòng lặp while và điều kiện dừng

Lưu trên thiết bị này
Lập trình Python nền tảng · Chọn bài khác

Khi chưa biết trước số lượt

Ta có thể muốn nhân đôi một số cho tới khi đạt mốc. Số lượt phụ thuộc điều kiện hiện tại, nên while diễn đạt tự nhiên nhiệm vụ này.

Kiểm tra trước mỗi lượt

while kiểm tra điều kiện trước khi chạy khối lệnh; điều kiện sai ngay từ đầu thì không chạy lượt nào. Các giá trị liên quan cần được cập nhật để điều kiện có thể trở thành sai. break thoát vòng lặp đang chứa nó; continue bỏ phần còn lại của lượt hiện tại để chuyển sang lượt kế tiếp. Dùng continue thiếu cẩn thận có thể bỏ qua bước cập nhật.

Nhân đôi đến mốc

```python x = 3 count = 0 while x < 20: x *= 2 count += 1 print(x, count) ``` Các giá trị x sau lượt lần lượt là 6, 12, 24; count là 3. Tại x = 24, điều kiện 24 < 20 sai nên dừng. Kết quả cuối không bắt buộc bằng đúng 20.

Thử vận dụng

x = 10; while x < 5: ... chạy khối lặp bao nhiêu lượt?
Chọn một đáp án

Duyệt chữ số

```python n = 507 s = 0 while n > 0: s += n % 10 n //= 10 print(s) ``` Ta lấy các chữ số từ phải: 7, 0, 5; n giảm 507 → 50 → 5 → 0. Tổng là 12. Bài đang xét n nguyên không âm; trường hợp n = 0 cho tổng 0 dù vòng lặp không chạy.

Ví dụ xem cách làm

Đoạn x = 1; while x < 4: print(x) thiếu việc gì để lần lượt in 1, 2, 3 rồi dừng?

Ví dụ xem cách làm

Áp dụng đoạn cộng chữ số cho n = 204. Hãy ghi các giá trị n sau mỗi lần chia nguyên và tổng cuối.

Những điều cần nhớ

Ghi điều kiện trước lượt, thay đổi trong lượt và giá trị lúc dừng. Điều kiện dừng không có nghĩa kết quả phải bằng đúng một mốc.

Đang học