Cơ bảnKiến thức cơ bản

Vòng lặp trong Python: for, while và cách sử dụng

8 phút đọc17 lượt xem
#vòng lặp python#for loop python#while loop python#python cơ bản#break continue python

Vòng lặp trong Python: for, while và cách sử dụng

Hãy tưởng tượng bạn cần in ra 100 dòng "Xin chào" — viết 100 lệnh print? Không ai làm vậy. Đó là lý do vòng lặp tồn tại.

Vòng lặp là gì? Tại sao cần?

# Không có vòng lặp — lặp thủ công, rất tệ
print(1)
print(2)
# ... 98 dòng nữa ...
print(100)

# Có vòng lặp — gọn, rõ, đúng cách
for i in range(1, 101):
    print(i)

Vòng lặp cho phép thực hiện cùng một thao tác nhiều lần mà không cần viết code lặp lại. Đây là khái niệm nền tảng mà mọi ngôn ngữ lập trình đều có.

Vòng lặp for trong Python

Cú pháp cơ bản

for biến in iterable:
    # Code thực hiện mỗi lần lặp

Dùng với range()

# range(stop) — từ 0 đến stop-1
for i in range(5):
    print(i)
# Output: 0 1 2 3 4

# range(start, stop)
for i in range(1, 6):
    print(i)
# Output: 1 2 3 4 5

# range(start, stop, step) — bước nhảy
for i in range(0, 11, 2):    # số chẵn từ 0 đến 10
    print(i, end=" ")
# Output: 0 2 4 6 8 10

Lặp qua list

ngon_ngu = ["Python", "JavaScript", "SQL", "Go"]
for nn in ngon_ngu:
    print(f"Tôi biết {nn}")

enumerate() — lặp kèm chỉ số

Khi cần cả vị trí lẫn giá trị, dùng enumerate() thay vì tự đếm thủ công:

mon_hoc = ["Toán", "Lý", "Hóa", "Python"]
for stt, mon in enumerate(mon_hoc, start=1):
    print(f"{stt}. {mon}")
# Output:
# 1. Toán
# 2. Lý
# 3. Hóa
# 4. Python

Vòng lặp while trong Python

while điều_kiện:
    # Thực hiện khi điều kiện True
# Ví dụ cơ bản
dem = 1
while dem <= 5:
    print(f"Lần {dem}")
    dem += 1    # Quan trọng: thiếu dòng này → vòng lặp vô hạn!

Ví dụ thực tế: hệ thống đăng nhập

mat_khau = "vietcode2026"
so_lan = 0

while so_lan < 3:
    nhap = input(f"Mật khẩu ({3-so_lan} lần còn): ")
    if nhap == mat_khau:
        print("Đăng nhập thành công!")
        break
    so_lan += 1
    print("Sai mật khẩu!")
else:
    print("Tài khoản bị khóa sau 3 lần sai!")

for vs while — dùng cái nào?

forwhile
Dùng khiBiết trước số lần lặpKhông biết trước số lần
Ví dụDuyệt list, range()Chờ input người dùng, game loop
Rủi roÍt khi bị vô hạnDễ vô hạn nếu quên cập nhật điều kiện

break, continue, pass

# break — thoát vòng lặp ngay
for i in range(10):
    if i == 5:
        break    # dừng ở 5
    print(i, end=" ")
# Output: 0 1 2 3 4

# continue — bỏ qua lần lặp hiện tại
for i in range(10):
    if i % 2 == 0:
        continue    # bỏ qua số chẵn
    print(i, end=" ")
# Output: 1 3 5 7 9

# pass — giữ chỗ, không làm gì
for i in range(5):
    if i == 3:
        pass    # TODO: xử lý sau
    print(i)

Vòng lặp lồng nhau

# Bảng cửu chương 2 và 3
for i in range(2, 4):
    print(f"\n=== Bảng {i} ===")
    for j in range(1, 11):
        print(f"{i} x {j:2} = {i*j:2}")

List Comprehension — viết vòng lặp ngắn gọn hơn

Đây là cú pháp đặc trưng của Python, giúp tạo list từ vòng lặp trong một dòng:

# Cách thông thường
binh_phuong = []
for i in range(1, 6):
    binh_phuong.append(i ** 2)

# List comprehension — Pythonic hơn
binh_phuong = [i ** 2 for i in range(1, 6)]
# [1, 4, 9, 16, 25]

# Với điều kiện lọc
so_chan = [i for i in range(20) if i % 2 == 0]
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

Bài tập thực hành

# FizzBuzz — bài tập phỏng vấn kinh điển
for i in range(1, 101):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)
# Tính tổng các số từ 1 đến 100
tong = sum(range(1, 101))
print(f"Tổng = {tong}")    # 5050

Kết luận

Vòng lặp là công cụ không thể thiếu trong lập trình. Nắm chắc for, while, và break/continue là đủ để giải quyết hầu hết bài toán lặp trong Python.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

100 Days of Code: The Complete Python Pro Bootcamp

Học Python qua 100 dự án thực tế. Phù hợp cho người mới bắt đầu.

4.7
Xem khóa học →

Python for Data Science and Machine Learning Bootcamp

Học Data Science với Python: pandas, matplotlib, scikit-learn.

4.6
Xem khóa học →

Automate the Boring Stuff with Python

Tự động hóa công việc lặp đi lặp lại bằng Python.

4.6
Xem khóa học →

*Đây là liên kết liên kết (affiliate link). Chúng tôi có thể nhận hoa hồng nếu bạn mua khóa học qua liên kết này.