Site icon donghochetac

Câu Lệnh Lặp While Trong Python: Giải Thích Chi Tiết Kèm Ví Dụ

Câu lệnh lặp while là một công cụ mạnh mẽ trong Python, cho phép chúng ta thực thi một khối mã lặp đi lặp lại cho đến khi một điều kiện nhất định không còn đúng. Bài viết này sẽ đi sâu vào cú pháp, cách hoạt động và các ví dụ minh họa về câu lệnh while, giúp bạn nắm vững và áp dụng hiệu quả trong lập trình.

Cú Pháp Của Câu Lệnh while

Cú pháp cơ bản của câu lệnh while trong Python như sau:

while điều_kiện:
    # Khối mã thực thi khi điều_kiện là True
    # ...

Trong đó:

  • điều_kiện: Là một biểu thức boolean (True hoặc False). Vòng lặp while sẽ tiếp tục thực thi chừng nào điều_kiện còn là True.
  • Khối mã: Là một hoặc nhiều câu lệnh Python được thụt vào bên trong câu lệnh while. Khối mã này sẽ được thực thi lặp đi lặp lại.

Cách Thức Hoạt Động

  1. Kiểm tra điều kiện: Đầu tiên, Python đánh giá điều_kiện.
  2. Thực thi khối mã (nếu cần): Nếu điều_kiệnTrue, khối mã bên trong vòng lặp while sẽ được thực thi.
  3. Lặp lại: Sau khi khối mã được thực thi, Python quay lại bước 1, đánh giá lại điều_kiện. Quá trình này lặp lại cho đến khi điều_kiện trở thành False.
  4. Kết thúc: Khi điều_kiệnFalse, vòng lặp while kết thúc và chương trình tiếp tục thực thi các câu lệnh phía sau vòng lặp.

Ví Dụ Minh Họa

Ví dụ 1: In Các Số Từ 1 Đến 5

i = 1
while i <= 5:
    print(i)
    i = i + 1

Trong đoạn chương trình trên:

  • i = 1: Khởi tạo biến i với giá trị ban đầu là 1.
  • while i <= 5:: Vòng lặp while sẽ tiếp tục thực thi chừng nào i còn nhỏ hơn hoặc bằng 5.
  • print(i): In giá trị của i ra màn hình.
  • i = i + 1: Tăng giá trị của i lên 1 sau mỗi lần lặp.

Kết quả:

1
2
3
4
5

Ví dụ 2: Tính Tổng Các Số Nhập Từ Bàn Phím Cho Đến Khi Nhập Số Âm

tong = 0
so = 0
while so >= 0:
    so = int(input("Nhập một số (nhập số âm để kết thúc): "))
    if so >= 0:
        tong = tong + so
print("Tổng là:", tong)

Trong đoạn chương trình trên:

  • tong = 0: Khởi tạo biến tong để lưu tổng, giá trị ban đầu là 0.
  • so = 0: Khởi tạo biến so để lưu số nhập từ bàn phím.
  • while so >= 0:: Vòng lặp while tiếp tục chừng nào so còn lớn hơn hoặc bằng 0.
  • so = int(input("Nhập một số (nhập số âm để kết thúc): ")): Yêu cầu người dùng nhập một số và gán vào biến so.
  • if so >= 0:: Kiểm tra nếu so lớn hơn hoặc bằng 0 thì cộng vào biến tong.
  • print("Tổng là:", tong): In ra tổng sau khi vòng lặp kết thúc.

Ví dụ 3: Tìm Ước Chung Lớn Nhất (UCLN) Sử Dụng Vòng Lặp While

def ucln(a, b):
    while b:
        a, b = b, a % b
    return a

M = int(input("Nhập số M: "))
N = int(input("Nhập số N: "))

print("UCLN của", M, "và", N, "là:", ucln(M, N))

Đoạn code này minh họa cách tìm UCLN của hai số M và N sử dụng thuật toán Euclid và vòng lặp while. Vòng lặp tiếp tục cho đến khi b bằng 0, lúc đó a sẽ là UCLN.

Ví dụ 4: Đếm Số Chữ Số Của Một Số Nguyên Dương

n = int(input("Nhập một số nguyên dương: "))
k = 0
n = abs(n)  # Đảm bảo n là số dương
while n != 0:
    n = n // 10
    k = k + 1
print("Số chữ số là:", k)

Đoạn code này sử dụng vòng lặp while để đếm số lượng chữ số của một số nguyên dương. Trong mỗi lần lặp, số n được chia nguyên cho 10, loại bỏ chữ số cuối cùng, và biến k (số chữ số) tăng lên 1. Vòng lặp dừng khi n bằng 0.

Ví dụ 5: In Ra Các Số Chia Hết Cho 3 Trong Khoảng Từ 1 Đến 20

x = 1
while (x <= 20):
    if x % 3 == 0:
        print(x, end=" ")
    x = x + 1

Đoạn code này sử dụng vòng lặp while để duyệt qua các số từ 1 đến 20. Bên trong vòng lặp, câu lệnh if kiểm tra xem số hiện tại có chia hết cho 3 hay không. Nếu có, số đó sẽ được in ra màn hình.

Lưu Ý Quan Trọng Khi Sử Dụng while

  • Điều kiện dừng: Đảm bảo rằng điều kiện trong vòng lặp while cuối cùng sẽ trở thành False. Nếu không, vòng lặp sẽ chạy mãi mãi (vòng lặp vô tận), dẫn đến treo chương trình.
  • Cập nhật biến: Trong hầu hết các trường hợp, bạn cần cập nhật giá trị của biến được sử dụng trong điều kiện của vòng lặp while bên trong khối mã. Điều này đảm bảo rằng điều kiện sẽ thay đổi và cuối cùng trở thành False.

So Sánh Với Vòng Lặp for

Vòng lặp whilefor đều dùng để lặp lại một khối mã, nhưng chúng khác nhau về cách sử dụng:

  • while: Sử dụng khi bạn không biết trước số lần lặp. Vòng lặp tiếp tục cho đến khi một điều kiện nhất định không còn đúng.
  • for: Sử dụng khi bạn biết trước số lần lặp, thường là duyệt qua một chuỗi, danh sách hoặc một phạm vi số.

Kết Luận

Câu lệnh lặp while là một công cụ linh hoạt và mạnh mẽ trong Python. Nắm vững cú pháp và cách hoạt động của nó giúp bạn giải quyết nhiều bài toán phức tạp một cách hiệu quả. Hãy luyện tập với các ví dụ khác nhau để làm quen và sử dụng thành thạo câu lệnh này.

Exit mobile version