Vòng lặp for trong python được sử dụng để lặp một biến qua một dãy (List hoặc String) theo thứ tự mà chúng xuất hiện. Vòng lặp for trong python được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vong lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while.
Sau đây là cú pháp của vòng lặp for trong python:
for bien_vong_lap in day_sequense:: // khối lệnh
Nếu một mảng day_sequense gồm một danh sách các biểu thức, nó được ước lượng đầu tiên. Sau đó, item đầu tiên trong mảng được gán cho biến vòng lặp bien_vong_lap. Tiếp theo, các khối lệnh bên trong vòng lặp được thực thi và khối lệnh này được thực thi tới khi mảng này đã được lặp xong.
Dưới đây là ví dụ minh họa vòng lặp for trong Python:
# Ví dụ lặp một chuỗi for letter in "Python": print ("Chữ cái hiện tại:", letter); # Ví dụ lặp một mảng fruits = ['chuối', 'táo', 'xoài'] for fruit in fruits: print ("Bạn có thích ăn:", fruit);
Kết quả:
Chu cai hien tai: P Chu cai hien tai: y Chu cai hien tai: t Chu cai hien tai: h Chu cai hien tai: o Chu cai hien tai: n Bạn có thích ăn: chuối Bạn có thích ăn: táo Bạn có thích ăn: xoài
Nội dung chính
Lặp qua index của mảng
Một cách khác để lặp qua mỗi item là bởi chỉ mục index bên trong mảng đó. Bạn theo dõi ví dụ đơn giản sau:
# Ví dụ lặp một mảng fruits = ['chuối', 'táo', 'xoài'] for index in range(len(fruits)): print ("Bạn có thích ăn:", fruits[index]);
Kết quả:
Bạn có thích ăn: chuối Bạn có thích ăn: táo Bạn có thích ăn: xoài
Ở đây, chúng ta sử dụng hàm len(), có sẵn trong Python, để cung cấp tổng số phần tử trong tuple cũng như hàm range() để cung cấp cho chúng ta dãy thực sự để lặp qua đó.
Sử dụng lệnh else trong vòng lặp for
Python cho phép bạn có một lệnh else để liên hợp với một lệnh vòng lặp.
- Nếu câu lệnh else được sử dụng với vòng lặp for, thì câu lệnh else được thực thi khi vòng lặp kết thúc.
- Nếu câu lệnh else được sử dụng với vòng lặp while, câu lệnh else được thực thi khi điều kiện là false.
for num in range(10, 21): #lặp num từ 10 tới 20 for i in range(2, num): #lặp i từ 2 tới num - 1 if num % i == 0: #num có chia hết cho i hay không print ("%d không phải là số nguyên tố." %(num)); break; # thoát vòng lặp for hiện tại else: # else là một phần của vòng lặp for print ("%d là số nguyên tố" %(num));
Kết quả:
10 không phải là số nguyên tố. 11 là số nguyên tố 12 không phải là số nguyên tố. 13 là số nguyên tố 14 không phải là số nguyên tố. 15 không phải là số nguyên tố. 16 không phải là số nguyên tố. 17 là số nguyên tố 18 không phải là số nguyên tố. 19 là số nguyên tố 20 không phải là số nguyên tố.