Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Làm chủ Python Loops: For và While với ví dụ thực tế

Vòng lặp là tính năng thiết yếu của mọi ngôn ngữ. Khả năng thực thi task nhiều lần là cơ bản.

Trong Python, lặp đạt được qua for và while loops.

Python for Loop

Cách phổ biến: lặp qua collection.

Cú pháp

for i in collection:
    statement

Collection có thể là list, set, range... i nhận giá trị phần tử đang lặp.

my_list = [1, 2, 3, 4, 5]
for i in my_list:
    print("Value is:", i)

Kết quả: in 1 đến 5.

for Loop với range()

range() tạo dãy số trong giới hạn. Dùng khi không có list nhưng muốn lặp số lần xác định.

for i in range(5):
    print(i)

Kết quả: 0 1 2 3 4 (0 đến 4, không phải 5).

range() mặc định bắt đầu 0, bước 1, kết thúc tại số chỉ định (exclusive).

Muốn start, stop, step khác:

for i in range(10, 30, 5):
    print(i)

Kết quả: 10 15 20 25 (bắt đầu 10, bước 5, dừng trước 30).

for Loop với else

else trong for chạy sau khi loop kết thúc (khác với if-else).

for i in range(6):
    print(i)
else:
    print("Finished looping.")

Kết quả: 0-5 rồi in "Finished looping."

Nested for Loops (Vòng lặp lồng nhau)

for trong for. Inner loop chạy một lần cho mỗi lần outer loop.

numbers = [1, 2, 3]
chars = ["a", "b", "c"]
for i in numbers:
    for y in chars:
        print(i, y)

Kết quả: 1a 1b 1c 2a 2b 2c 3a 3b 3c

Python While loop

Chạy tập statements miễn là condition true.

i = 1
while i < 5:
    print("Hello world")
    i = i + 1

Lưu ý: phải tăng i, không thì loop vô tận.

While loop với else

else chạy một lần khi condition không còn true.

i = 1
while i < 5:
    print("Hello world")
    i = i + 1
else:
    print("The execution has ended")

Kết quả: in 4 lần "Hello world" rồi "The execution has ended".

Dùng break trong while Loop

break thoát loop tại thời điểm nhất định.

my_list = ['a', 'b', 'c', 'd', 'e']
for i in my_list:
    print(i)
    if i == 'c':
        print("'c' encountered. Breaking the loop")
        break

Kết quả: a b c 'c' encountered. Breaking the loop

Dùng continue trong while Loop

continue bỏ qua iteration hiện tại, nhảy sang iteration tiếp theo.

my_list = ['a', 'b', 'c', 'd', 'e']
for i in my_list:
    if i == 'c':
        continue
    print(i)

Kết quả: a b d e (bỏ qua c).

Tóm tắt

  • for và while dùng cho iteration
  • for dùng khi biết trước số lần lặp; while dùng khi không biết trước
  • for có thể dùng với range()
  • while cần cơ chế phá vỡ condition tránh infinite loop
  • else block chạy luôn với cả for và while
  • break thoát hẳn loop; continue bỏ qua iteration hiện tại