Vòng lặp trong Python
1. Tổng quan các vòng lặp trong Python
Trong Python các câu lệnh (statement) được thực hiện một cách tuần tự từ trên xuống dưới. Tuy nhiên đôi khi bạn muốn thực hiện một khối các câu lệnh nhiều lần, bạn có thể sử dụng vòng lặp (loop).
Python cung cấp cho bạn 2 loại vòng lặp sau:
- Vòng lặp while
- Vòng lặp for
Các câu lệnh liên hợp với vòng lặp:
- else
Các câu lệnh (statement) có thể được sử dụng bên trong vòng lặp:
- continue
- break
- pass
Lệnh | Mô tả |
break | Đây là câu lệnh ngừng vòng lặp. |
continue | Đây là câu lệnh để bỏ qua các câu lệnh còn lại trong khối lệnh (block), và ngay lập tức kiểm tra lại điều kiện trước khi tiếp tục thực thi lại khối lệnh. |
pass | Lệnh pass trong vòng lặp chỉ đơn giản là một đánh dấu, nhắc bạn nhớ thêm mã (code) nào đó trong tương lai. Nó là một lệnh null (Không làm gì cả). |
2. Vòng lặp while
Cú pháp vòng lặp while:
while (condition) :
# Làm gì đó ở đây
# ....
Ví dụ:
whileLoopExample.py
print("While loop example");
# Tạo một biến x và gán giá trị 2 cho nó.
x = 2;
# Điều kiện kiểm tra là x < 10
# Nếu x < 10 đúng, thì chạy khối lệnh này.
while (x < 10) :
print("Value of x = ", x);
x = x + 3;
# Dòng lệnh này nằm ngoài khối lệnh while.
print("Finish");
Chạy ví dụ:
While loop example
Value of x = 2
Value of x = 5
Value of x = 8
Finish
3. Vòng lặp for với range
Ví dụ đơn giản nhất của vòng lặp for trong Python là sử dụng 'for' với 'range' (Phạm vi). Ví dụ biến 'x' có giá trị chạy trong pham vi (3, 7) (x= 3, 4, 5, 6).
forLoopExample.py
print("For loop example");
# for x = 3, 4, 5, 6
for x in range (3, 7) :
print("Value of x = ", x);
print(" x^2 = ", x * x);
# Dòng lệnh này nằm ngoài khối lệnh for.
print("End of example");
Chạy ví dụ:
For loop example
Value of x = 3
x^2 = 9
Value of x = 4
x^2 = 16
Value of x = 5
x^2 = 25
Value of x = 6
x^2 = 36
End of example
4. Sử dụng for và mảng
Sử dụng vòng lặp for có thể giúp bạn duyệt trên các phần tử của mảng.
forLoopExample3.py
print("For loop example");
# Khai báo một mảng.
names =["Tom","Jerry", "Donald"];
for name in names:
print("Name = ", name);
print("End of example");
Output:
For loop example
Name = Tom
Name = Jerry
Name = Donald
End of example
Duyệt các phần tử của mảng thông qua chỉ số (index):
forLoopExample3b.py
print("For loop example");
# Khai báo một mảng.
names =["Tom","Jerry", "Donald"];
# Hàm len() trả về số phần tử của mảng.
# index = 0,1,.. len-1
for index in range(len(names)):
print("Name = ", names[index] );
print("End of example");
5. Sử dụng lệnh break trong vòng lặp
break là một lệnh nó có thể nằm trong một khối lệnh của một vòng lặp. Đây là lệnh kết thúc vòng lặp vô điều kiện.
loopBreakExample.py
print("Break example");
# Tạo một biến x và gán giá trị 2 cho nó.
x = 2;
while (x < 15) :
print("----------------------\n");
print("x = ", x);
# Kiểm tra nếu x = 5 thì thoát ra khỏi vòng lặp.
if (x == 5) :
break;
# Tăng giá trị của x thêm 1
x = x + 1;
print("x after + 1 = ", x);
print("End of example");
Output:
Beak example
----------------------
x = 2
x after + 1 = 3
----------------------
x = 3
x after + 1 = 4
----------------------
x = 4
x after + 1 = 5
----------------------
x = 5
End of example
6. Sử dụng lệnh continue trong vòng lặp
continue là một lệnh, nó có thể nằm trong một vòng lặp, khi bắt gặp lệnh continue chương trình sẽ bỏ qua các dòng lệnh trong khối phía dưới của continue và bắt đầu một vòng lặp mới.
loopContinueExample.py
print("Continue example");
# Khai báo một biến và gán giá trị 2
x = 2
while (x < 7) :
print("----------------------\n")
print("x = ", x)
# % : Là phép chia lấy số dư.
# Nếu x là số chẵn, thì bỏ qua các lệnh bên dưới của 'continue'
# để tiếp tục bước lặp (iteration) mới.
if (x % 2 == 0) :
# Increase x by 1.
x = x + 1
continue
else :
# Increase x by 1.
x = x + 1
print("x after + 1 =", x)
print("End of example");
Output:
Continue example
----------------------
x = 2
----------------------
x = 3
x after + 1 = 4
----------------------
x = 4
----------------------
x = 5
x after + 1 = 6
----------------------
x = 6
End of example
7. Sử dụng lệnh pass trong vòng lặp
Trong Python, pass là một lệnh null (Không gì cả), khác biệt giữa một chú thích (comment) và lệnh pass trong Python là bộ thông dịch (interpreter) sẽ bỏ qua toàn bộ chú thích, còn với pass thì không bỏ qua.
Tuy vậy, không có gì xẩy ra khi lệnh pass được thực thi.
Tuy vậy, không có gì xẩy ra khi lệnh pass được thực thi.
Lệnh pass trong vòng lặp chỉ đơn giản là một đánh dấu, để bạn nhớ thêm mã (code) nào đó trong tương lai.
loopPassExample.py
number = 0
for number in range(5):
number = number + 1
if number == 3:
print(" do something here " , number)
pass
print(" >> " ,number )
print('Out of loop')
Chạy ví dụ:
>> 1
>> 2
do somthing here 3
>> 3
>> 4
>> 5
Out of loop
Bạn có thể loại bỏ lệnh pass trong ví dụ trên mà không làm thay đổi điều gì.
loopPassExample.py (Remove pass statement)
number = 0
for number in range(5):
number = number + 1
if number == 3:
print(" do something here " , number)
# pass (Remove pass)
print(" >> " ,number )
print('Out of loop')
8. Sử dụng lệnh 'else' với vòng lặp
Lệnh else có thể liên hợp với vòng lặp. Lệnh else sẽ được thực thi nếu vòng lặp chạy và kết thúc một cách bình thường, không bị ngắt bởi lệnh break.
forLoopElseExample.py
print("For loop example");
# for x = 3, 4, 5, 6
for x in range (3, 7) :
print("Value of x = ", x);
print(" x^2 = ", x * x);
else :
print("finish for loop")
# Đây là một lệnh nằm ngoài khối lệnh for.
print("End of example");
Output:
For loop example
Value of x = 3
x^2 = 9
Value of x = 4
x^2 = 16
Value of x = 5
x^2 = 25
Value of x = 6
x^2 = 36
finish for loop
End of example
Nếu vòng lặp bị ngừng bởi lệnh break, lệnh else liên hợp với vòng lặp sẽ không đươc thực thi.
forLoopElseExample2.py
print("For loop example");
# for x = 3, 4, 5, 6
for x in range (3, 7) :
print("Value of x = ", x);
if x == 5:
print("Break!")
break;
else :
# Nếu lệnh break đã được gọi trong vòng lặp,
# lệnh này sẽ không được thực thi.
print("This command will not be executed!")
# Dòng lệnh này nằm ngoài khối lệnh for.
print("End of example");
Output:
For loop example
Value of x = 3
Value of x = 4
Value of x = 5
Break!
End of example
Các hướng dẫn lập trình Python
- Tra cứu tài liệu Python
- Các lệnh rẽ nhánh trong Python
- Hướng dẫn và ví dụ Python Function
- Lớp và đối tượng trong Python
- Thừa kế và đa hình trong Python
- Hướng dẫn và ví dụ Python Dictionary
- Hướng dẫn và ví dụ Python Lists
- Hướng dẫn và ví dụ Python Tuples
- Hướng dẫn sử dụng Date Time trong Python
- Kết nối cơ sở dữ liệu MySQL trong Python sử dụng PyMySQL
- Hướng dẫn xử lý ngoại lệ trong Python
- Hướng dẫn và ví dụ String trong Python
- Giới thiệu về Python
- Cài đặt Python trên Windows
- Cài đặt Python trên Ubuntu
- Cài đặt PyDev cho Eclipse
- Quy ước và các phiên bản ngữ pháp trong Python
- Hướng dẫn lập trình Python cho người mới bắt đầu
- Vòng lặp trong Python
Show More