Điện thoại/ Zalo
0389934723
Bài 11: Vòng lặp trong Python
Phần trước, chúng ta đã được tìm hiểu về câu lệnh rẽ nhánh trong python rồi và các bạn cũng thấy nó khá đơn giản đúng không? Phần này chúng ta cũng sẽ tìm hiểu về một thứ không thể thiếu trong các ngôn ngữ lập trình đó là vòng lặp.
1, Vòng lặp là gì?
Vòng lặp (tiếng anh là loop) là một thuật ngữ dùng để diễn tả một hành động hay một cụm hành động được lặp đi lặp lại nhiều lần.
VD: Như chúng ta cứ uống nước xong là lại phải đi tiểu và hành động đó cứ xảy ra đến khi bạn die mới dừng. Thì đó cũng có thể coi là một vòng lặp :D.
Và trong Python thì nó cung cấp cho chúng ta 2 dạng vòng lặp chính đó là:
for
while
2, Vòng lặp for trong Python.
Vòng lặp for
ở trong Python có tác dụng lặp các biến dữ liệu có trong list
, tuple
hoặc string
,… Sử dụng cú pháp như sau:
for variable in data:
# code
Trong đó:
variable
là các biến tạm dùng để chứa dữ liệu sau mỗi lần lặp.data
là mộtlist
,tuple
hoặcstring
,… chứa giá trị cần lặp.
VD: Mình sẽ khai báo 1 string name = "thanhtaivtt"
và dùng vòng lặp for
để lặp ra từng ký tự của nó.
name = "thanhtaivtt"
for i in name:
print(i)
# ket qua:
# t
# h
# a
# n
# h
# t
# a
# i
# v
# t
# t
Và đương nhiên là các vòng for này cũng có thể lồng nhau.
VD: Vòng for lồng nhau.
name = "thanhtaivtt"
for i in range(0,10):
for j in range(i,10):
print(j, end = " ")
print ("")
# Ket qua:
# 0 1 2 3 4 5 6 7 8 9
# 1 2 3 4 5 6 7 8 9
# 2 3 4 5 6 7 8 9
# 3 4 5 6 7 8 9
# 4 5 6 7 8 9
# 5 6 7 8 9
# 6 7 8 9
# 7 8 9
# 8 9
# 9
Chú thích: ở đây mình có sử dụng hàm range(a,z)
để tạo ra các con số từ a -> z, ở các phần sau mình sẽ nó rõ hơn về hàm này nhé! giờ các bạn cứ hiểu nó đơn giản như kia là được rồi à
3, Vòng lặp while.
Vòng lặp while
trong Python dùng để lặp các dữ liệu mà giá trị ngừng có của nó là chưa biết trước.
Cú pháp sử dụng:
while condition:
# code
Trong đó, condition
là điều kiện quyết định vòng lặp while có được chạy hay không. Nếu condition
trả về giá trị là True
thì vòng lặp while
mới được thực thi, và ngược lại thì nó sẽ không thực thi nếu condition
trả về False
.
VD: Mình sẽ viết một vòng lặp while in ra dãy số từ 1 đến 10.
i = 1;
while(i <= 10):
print(i)
i += 1
Đối với vòng lặp while này thì chúng ta cũng có thể lồng nó lại với nhau được.
VD: Lồng 2 vòng lặp while.
i = 1
while(i <= 10):
j = 1
while (j <= 10 - i):
print(j, end = " ")
j += 1
print("")
i += 1
# ket qua:
# 1 2 3 4 5 6 7 8 9
# 1 2 3 4 5 6 7 8
# 1 2 3 4 5 6 7
# 1 2 3 4 5 6
# 1 2 3 4 5
# 1 2 3 4
# 1 2 3
# 1 2
# 1
4, Các từ khóa tác động đến vòng lặp.
Thông thường trong một số trường hợp vòng lặp của chúng ta sẽ có thể không cần thực thi code trong một số vòng lặp cụ thể hay là cần nhảy lần vòng lặp đó và thực thi các lần lặp tiếp theo, và để làm được điều đó thì trong Python có hỗ trợ chúng ta 2 keyword để tác động đến vòng lặp là:
break
– break giúp chúng ta chấm dứt vòng lặp tại thời điểm nó xuất hiện và các code cùng cấp phía sau nó sẽ không được thực thi nữa.continue
– giúp chúng ta nhảy qua lần lặp hiện tại và chuyển đến lần lặp tiếp theo, các code cùng cấp phía sau nó cũng sẽ không được thực hiện.
VD: Lệnh break
.
i = 1
while(i <= 10):
print(i)
if i == 5 :
break
i += 1
# ket qua:
# 1
# 2
# 3
# 4
# 5
VD: Lệnh continue
.
for i in "thanhtaivtt":
if i == "n":
continue
print(i, end=" ")
# ket qua:
# t h a h t a i v t t
5, Lời kết.
Vòng lặp là một phần rất quan trong và sẽ phải sử dụng thường xuyên đến nó trong các bài tiếp theo nên các bạn chú ý ôn thật kỹ nhé!