icantech
Lập trình Python
3667
02/11/2023

Tìm hiểu về vòng lặp while trong Python

Bên cạnh những khái niệm như biến số, toán tử, câu lệnh điều kiện thì vòng lặp cũng là một trong những khái niệm cơ bản nhất trong lập trình. Trong lập trình Python, vòng lặp được chia thành 2 loại: vòng lặp for và vòng lặp while. Trong bài viết này, hãy cùng ICANTECH tìm hiểu về vòng lặp while trong Python nhé!

1. Khái niệm vòng lặp while trong Python

Cũng giống for, vòng lặp while Python được sử dụng để lặp lại một hay nhiều câu lệnh, đoạn lệnh. Ngược lại, vòng lặp for được sử dụng khi đã biết trước số lần lặp thì while là câu lệnh lặp không biết trước số lần lặp.

1.1. Cú pháp cơ bản của vòng lặp while

while condition:

statements

Trong đó:

  • while: từ khóa vòng lặp
  • Condition: điều kiện kiểm tra. Có thể là các biểu thức hoặc các biến có giá trị trả về True hoặc False.
  • statements: Các câu lệnh được thụt lề và lặp lại cho đến khi condition False.

Lưu ý: Nếu điều kiện sai ngay từ đầu thì statements không được thực hiện 1 lần nào.

1.2. Sơ đồ hoạt động của vòng lặp while

 

vong-lap-while

Vẽ lại sơ đồ này, kiểm điều kiện lặp -> conditions, khối lệnh của while -> statements

Khi bắt đầu vào vòng lặp while thì conditions (điều kiện lặp) được kiểm tra đầu tiên. các câu lệnh bên trong vòng lặp chỉ được thực thi nếu biểu thức điều kiện trả về giá trị True. Cứ sau mỗi lần lặp, điều kiện lại được kiểm tra lại. Quá trình lặp này tiếp tục cho đến khi điều kiện trả về giá trị False (không còn chính xác).

1.3. Ví dụ cơ vòng lặp while cơ bản

i = 1

while i<6:

print(i)

i = i + 1

Kết quả:

2

3

4

5

Lưu ý: Trong đoạn code trên, biểu thức điều kiện sẽ trả về True nếu biến i có giá trị nhỏ hơn 6. Lần lượt thực hiện tăng giá trị của biến i bên trong vòng lặp. Điều này là bắt buộc trong 1 vòng lặp while. Nếu không tăng giá trị của i, sẽ dẫn đến một vòng lặp vô hạn (vòng lặp không bao giờ kết thúc) bởi biến i sẽ luôn có giá trị luôn nhỏ hơn 6, tức là điều kiện luôn được thỏa mãn.

Việc cung cấp một cách để thoát khỏi vòng lặp ở ngay trong thân vòng lặp là một lưu ý hết sức quan trọng khi chúng ta sử dụng vòng lặp while. Nếu không vòng lặp của chúng ta sẽ không bao giờ dừng dẫn đến việc treo máy hoặc code không thực hiện như mong muốn.

2. Một số thao tác thường sử dụng trong vòng lặp while

Ngoài việc lặp các hành động đơn thuần theo điều kiện, chúng ta có thể kết hợp câu lệnh lặp while với một số câu lệnh, điều kiện đặc biệt để xử lí các yêu cầu phức tạp hơn.

2.1. Vòng lặp while với break

Rất nhiều người đặt ra câu hỏi “Vòng lặp while kết thúc khi nào?”. Ngoài việc dừng khi điều kiện trả về giá trị false thì có cách nào khác để kết thúc vòng lặp while hay không?

Một cách đơn giản nhất để dừng vòng lặp giữa chừng đó là sử dụng câu lệnh break. Khi gặp câu lệnh break thì vòng lặp có thể dừng lại ngay cả khi điều kiện là đúng.

Ví dụ:

i = 1

while i<6:

print(i)

if i == 3:

break

i = i + 1

Kết quả:

1

2

3

Ở vòng lặp trên, mặc dù điều kiện i < 6 vẫn đúng nhưng vòng lặp while vẫn dừng khi i = 3.

2.2. Vòng lặp while với continue

Khác với việc dừng và thoát hoàn toàn khỏi vòng lặp, thì việc bỏ quả một lần lặp được thể hiện khá thường xuyên trong quá trình lặp. Để thực hiện điều này, chúng ta sử dụng câu lệnh continue trong vòng lặp.

Ví dụ:

i = 0

while i<6:

i = i + 1

if i == 3:

continue

print(i)

Kết quả:

1

2

4

5

6

Ở vòng lặp trên, khi i = 3 thay vì thoát khỏi vòng lặp thì ta chỉ bỏ qua lần lặp đó và thực hiện các lần lặp tiếp theo.

2.3. Vòng lặp while với else

Vòng lặp while else được sử dụng để xử lí các hành động khi kết thúc vòng lặp.

Vòng lặp while sẽ kết thúc khi điều kiện trả về False. Nhưng nếu bạn vẫn muốn xử lí một hành động nào đó khi điều kiện sai thì có thể sử dụng kết hợp với else.

i = 0

sum = 0

while i < 8:

i += 1

print(i)

sum += i

else:

print("Tổng các số tự nhiên từ 1 đến 8 là:",sum)

Kết quả:

1

2

3

4

5

6

7

8

Tổng các số tự nhiên nhỏ hơn 8 là: 36

Ví dụ trên thực hiện in ra tổng các số tự nhiên từ 1 đến 8.

Nếu như sử dụng vòng lặp while với câu lệnh break thì các câu lệnh trong else sẽ không được thực hiện.

Ví dụ:

i = 0

sum = 0

while i < 8:

if i == 4:

print("Breakpoint")

break

i += 1

print(i)

sum+=i

else:

print("Tổng các số tự nhiên từ 1 đến 8 là:",sum)

kết quả:

1

2

3

4

Breakpoint

2.4. Vòng lặp vô hạn

Nếu ta để điều kiện lặp là True hoặc biểu thức điều kiện luôn trả về giá trị True thì vòng lặp while sẽ chạy đến vô tận cho đến khi dừng chương trình hoặc bấm Ctrl + C trong console.

Ví dụ:

while True:

print('Vòng lặp vô tận ...')

Kết quả:

Vòng lặp vô tận ...

Vòng lặp vô tận ...

Vòng lặp vô tận ...

Vòng lặp vô tận ...

Vòng lặp vô tận ...

2.5. Vòng lặp lồng nhau

Tương tự vòng lặp for, chúng ta cũng có thể đặt lồng các vòng lặp while vào nhau.

Ví dụ:

n = 7

i = 0

while i < n:

j = 0

while j < n:

if j==0 or i==j or j==n-1:

print('#', end=' ')

else:

print(' ',end=' ')

j = j + 1

i = i + 1

print()

Kết quả:

#            # 

# #         # 

#   #       # 

#     #     # 

#       #   # 

#         # # 

#            #

2.6. Các thao tác khác

Ngoài các thao tác trên, chúng ta có thể kết hợp vòng lặp while với các cấu trúc điều khiển khác trong lập trình Python như kết hợp với vòng lặp for, cấu trúc rẽ nhánh… Việc kết hợp này giúp hương trình có thể xử lí nhiều tác vụ phức tạp mà một vòng lặp while đơn giản không thể xử lí được.

3. Lời Kết

Vòng lặp while trong Python chính là một công cụ đơn giản mà mạnh mẽ hỗ trợ bạn xử lí các vấn đề lặp, tự động công việc từ đơn giản đến phức tạp. Bài viết đã cung cấp rất chi tiết về các khía cạnh của vòng lặp while trong Python. Hãy tìm hiểu thật kĩ và áp dụng những kiến thức trên vào chương trình của bạn nhé!

Nếu bạn đang quan đến học lập trình Python online thì hãy tham khảo ngay các khóa học lập trình tại ICANTECH nhé!
 

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình Python

Bài tương tự