Sự khác biệt giữa vòng lặp for và while trong Python

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

Trong Python, cả vòng lặp forwhile đều được sử dụng để thực hiện các thao tác lặp đi lặp lại. Tuy nhiên, chúng có những điểm khác biệt quan trọng về cách hoạt động và mục đích sử dụng.

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

1. Vòng lặp for trong Python

Định nghĩa:

Vòng lặp for được sử dụng để lặp qua một dãy giá trị đã biết trước, chẳng hạn như danh sách, chuỗi, tập hợp hoặc phạm vi (range).

Cú pháp:

for variable in iterable:
    # Thực hiện các câu lệnh
  • variable: Biến nhận giá trị của từng phần tử trong tập hợp.
  • iterable: Tập hợp dữ liệu có thể lặp qua như danh sách, chuỗi, tuple, dictionary, hoặc range().

Ví dụ 1: Lặp qua một danh sách

fruits = ["Táo", "Chuối", "Cam"]
for fruit in fruits:
    print(fruit)

Kết quả:

Táo  
Chuối
Cam

Ví dụ 2: Sử dụng range() để lặp với số lần xác định

for i in range(1, 6):  
    print(i)  

Kết quả:

1  
2
3
4
5

Khi nào sử dụng for?

✅ Khi bạn biết trước số lần lặp hoặc cần duyệt qua một tập hợp dữ liệu có sẵn.
✅ Khi cần thực hiện thao tác trên từng phần tử của danh sách, chuỗi, hoặc từ điển.


2. Vòng lặp while trong Python

Định nghĩa:

Vòng lặp while được sử dụng khi số lần lặp chưa xác định trước và phụ thuộc vào một điều kiện logic. Vòng lặp sẽ tiếp tục chạy miễn là điều kiện vẫn đúng (True).

Cú pháp:

while condition:
    # Thực hiện các câu lệnh
  • condition: Biểu thức điều kiện kiểm soát vòng lặp, nếu đúng (True), vòng lặp tiếp tục chạy, nếu sai (False), vòng lặp dừng.

Ví dụ 1: Lặp cho đến khi điều kiện sai

count = 1
while count <= 5:
    print(count)
    count += 1  # Tăng biến đếm để tránh vòng lặp vô tận

Kết quả:

1  
2
3
4
5

Ví dụ 2: Vòng lặp vô hạn (cần tránh)

while True:
    print("Chạy mãi mãi!")

🔴 Lưu ý: Đây là vòng lặp vô hạn, chỉ dừng lại khi sử dụng break hoặc tắt chương trình.

Khi nào sử dụng while?

✅ Khi bạn không biết trước số lần lặp.
✅ Khi điều kiện thay đổi trong quá trình thực thi chương trình.
✅ Khi cần chờ một sự kiện xảy ra trước khi thoát vòng lặp.


3. So sánh vòng lặp forwhile trong Python

Tiêu chíVòng lặp forVòng lặp while
Mục đíchLặp qua tập hợp phần tử đã biết trước.Chạy đến khi điều kiện sai.
Số lần lặpBiết trước số lần lặp.Không biết trước, phụ thuộc vào điều kiện.
Cú phápfor item in iterable:while condition:
Điều kiện dừngKhi tập hợp phần tử được duyệt hết.Khi điều kiện trở thành False.
Ví dụ sử dụngDuyệt danh sách, chuỗi, dictionary, range().Kiểm tra dữ liệu đầu vào, chờ sự kiện xảy ra.
Hiệu suấtThường nhanh hơn, vì sử dụng ít kiểm tra điều kiện.Có thể tốn tài nguyên nếu không kiểm soát tốt.
Dễ đọc và kiểm soátDễ hiểu và rõ ràng hơn.Cần kiểm soát điều kiện để tránh vòng lặp vô hạn.

4. Khi nào nên dùng forwhile?

📌 Dùng for khi:
✔ Bạn biết trước số lần lặp.
✔ Cần duyệt qua danh sách, chuỗi, từ điển hoặc phạm vi số.
✔ Cần thực hiện thao tác trên từng phần tử có sẵn.

📌 Dùng while khi:
✔ Số lần lặp chưa xác định trước.
✔ Cần kiểm tra một điều kiện trước khi tiếp tục vòng lặp.
✔ Chạy vòng lặp dựa trên một sự kiện cụ thể.


5. Kết hợp forwhile với câu lệnh breakcontinue

break – Dừng vòng lặp ngay lập tức

for i in range(1, 10):
    if i == 5:
        break  # Dừng vòng lặp khi i == 5
    print(i)

Kết quả:

1  
2
3
4

continue – Bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo

for i in range(1, 6):
    if i == 3:
        continue  # Bỏ qua giá trị 3
    print(i)

Kết quả:

1  
2
4
5

6. Ví dụ thực tế: Dùng forwhile trong một chương trình

Tính tổng các số chẵn từ 1 đến 10 dùng for

total = 0
for num in range(1, 11):
    if num % 2 == 0:
        total += num
print("Tổng số chẵn từ 1 đến 10 là:", total)

Kết quả:

Tổng số chẵn từ 1 đến 10 là: 30

Dự đoán số ngẫu nhiên với while

import random
target = random.randint(1, 10)
guess = 0

while guess != target:
    guess = int(input("Nhập số dự đoán (1-10): "))
    if guess < target:
        print("Số bạn đoán quá nhỏ!")
    elif guess > target:
        print("Số bạn đoán quá lớn!")

print("Chúc mừng! Bạn đã đoán đúng số", target)

Chương trình tiếp tục chạy đến khi người dùng đoán đúng số ngẫu nhiên.


7. Kết luận

Vòng lặp for phù hợp để duyệt danh sách hoặc tập hợp dữ liệu có sẵn.
Vòng lặp while hữu ích khi điều kiện dừng chưa xác định trước.
✅ Cần kết hợp breakcontinue để kiểm soát vòng lặp hiệu quả.
✅ Hiểu rõ sự khác biệt giữa forwhile giúp bạn viết code Python tối ưu hơn.

🚀 Bằng cách nắm vững forwhile, bạn có thể xây dựng các chương trình Python mạnh mẽ và hiệu quả!

Menu Vòng Lặp>>

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!
Hotline: 039.2266.928
Khóa học Toefl
Phone now