DANH MỤC: PYTHON CƠ BẢN

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ột list, tuple hoặc string,... 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 3 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é!

Nguồn: Toidicode.com

Thông tin tác giả

Thanh Tai (thanhtaivtt)

Thanh Tai (thanhtaivtt)

The best way to learn is to teach

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia