Vòng Lặp for trong Python
Vòng lặp
for trong Python được dùng để lặp qua một tập hợp các phần tử (như danh sách, chuỗi ký tự, từ điển) hoặc một dãy số. Khác với nhiều ngôn ngữ lập trình khác, vòng lặp for trong Python hoạt động giống như một trình lặp (iterator) duyệt qua từng phần tử có sẵn.1. Cú pháp cơ bản
Python
for bien_lap in tap_hop:
# Khối lệnh được thực thi trong mỗi lần lặp
Lưu ý quan trọng: Khối lệnh bên trong vòng lặpforbắt buộc phải được thụt lề (thường là 4 khoảng trắng). Nếu không thụt lề, Python sẽ báo lỗiIndentationError.
2. Các trường hợp sử dụng phổ biến
A. Duyệt qua danh sách (List)
Dùng để truy xuất từng phần tử có trong một danh sách có sẵn.
Python
danh_sach_xe = ["VinFast", "Toyota", "Honda", "Mazda"]
for xe in danh_sach_xe:
print(xe)
B. Sử dụng hàm range()
Khi bạn muốn lặp lại một khối lệnh với số lần nhất định, hàm
range() là trợ thủ đắc lực. Cú pháp tổng quát: range(start, stop, step).-
range(stop): Chạy từ0đếnstop - 1. -
range(start, stop): Chạy từstartđếnstop - 1. -
range(start, stop, step): Chạy từstartđếnstop - 1với bước nhảy làstep.
Python
# In các số từ 0 đến 4
for i in range(5):
print(i)
# In các số chẵn từ 2 đến 8
for i in range(2, 10, 2):
print(i)
C. Duyệt qua chuỗi ký tự (String)
Bạn cũng có thể tách từng ký tự trong một chuỗi để xử lý.
Python
tu = "Python"
for ky_tu in tu:
print(ky_tu)
3. Các câu lệnh điều khiển vòng lặp
-
break: Dừng và thoát khỏi vòng lặp ngay lập tức khi thỏa mãn điều kiện. -
continue: Bỏ qua lần lặp hiện tại và nhảy sang lần lặp tiếp theo. -
else: Khối lệnhelsesẽ chạy khi vòng lặp kết thúc bình thường (không bị ngắt bởibreak).
Python
# Ví dụ sử dụng break
for i in range(10):
if i == 5:
break # Thoát vòng lặp khi i bằng 5
print(i)
4. Hệ thống bài tập áp dụng (Từ cơ bản đến nâng cao)
Mức độ cơ bản & Làm quen
-
Bài 1: Viết chương trình tính tổng các số từ 1 đến 100 sử dụng vòng lặp
forvà hàmrange(). -
Bài 2: Cho một danh sách điểm số:
diem_so = [7.5, 8.0, 4.5, 9.0, 6.5]. Hãy viết vòng lặp in ra màn hình những điểm số lớn hơn hoặc bằng7.0. -
Bài 3: Viết chương trình in ra bảng cửu chương của một số nguyên dương bất kỳ (ví dụ: bảng nhân 5 từ
5 x 1đến5 x 10). -
Bài 4: Viết chương trình in ra tất cả các số chẵn từ
1đến50. -
Bài 5: Nhập vào một từ (hoặc chuỗi ký tự) từ bàn phím, sử dụng vòng lặp
forđể đếm xem trong từ đó có bao nhiêu nguyên âm (u,e,o,a,i). -
Bài 6: Cho một danh sách tên học sinh:
danh_sach = ["An", "Bình", "Cường", "Dung", "Anh"]. Hãy viết vòng lặp kiểm tra và in ra những tên bắt đầu bằng chữ "A".
Mức độ trung bình & Tư duy logic
-
Bài 7: Viết chương trình tính giai thừa của một số nguyên dương
n(ví dụ:5! = 5 x 4 x 3 x 2 x 1 = 120) bằng cách sử dụng vòng lặpfor. -
Bài 8: Cho một danh sách các số nguyên:
so_nguyen = [12, 45, 7, 89, 23, 56, 3]. Hãy viết chương trình tìm và in ra số lớn nhất trong danh sách đó (không dùng hàmmax()). -
Bài 9: Viết chương trình kiểm tra xem một số nguyên dương
nnhập vào có phải là số nguyên tố hay không. -
Bài 10: In ra màn hình bảng cửu chương đầy đủ từ bảng 2 đến bảng 9 (sử dụng vòng lặp lồng nhau - nested loops).
Mức độ nâng cao & Thực tế
-
Bài 11: Viết chương trình đảo ngược một chuỗi ký tự bất kỳ do người dùng nhập vào (ví dụ: nhập
"Python"thì kết quả là"nohtyP"). -
Bài 12: Cho hai danh sách điểm toán và văn của học sinh:
toan = [8.0, 7.5, 9.0, 6.0]van = [7.0, 8.0, 8.5, 6.5]Hãy dùng hàmzip()kết hợp với vòng lặpforđể tính điểm trung bình môn của từng học sinh và in ra màn hình. -
Bài 13: Viết chương trình in ra dãy số Fibonacci gồm
nphần tử đầu tiên (vớinnhập từ bàn phím). Biết rằng dãy Fibonacci bắt đầu bằng 0 và 1, các số tiếp theo bằng tổng hai số liền trước liền kề (Ví dụ:0, 1, 1, 2, 3, 5, 8, ...).