Bài viết liên quan

Mẹ bầu có nên lo lắng khi tỷ lệ bạch cầu lympho giảm trong thai kỳ? Xét nghiệm D-dimer và những điều bạn chưa biết Giaima.vn Lao động nữ mang thai ở tuần 27 có phải trực ca đêm không? 3 bộ phận nhạy cảm mẹ bầu không vệ sinh cẩn thận dễ động thai, mất con Lưu ý tình trạng huyết áp thấp ở mẹ bầu Uống vitamin E trước khi mang thai có nên không? | Dr Linh Lê Phụ nữ mang thai 3 tháng đầu có nên uống nước dừa Hình ảnh bụng bầu tụt xuống báo hiệu sắp sinh sẽ như thế nào? Hiện tượng nhức mỏi tay chân ở bà bầu và cách chữa dứt điểm Mọc răng khôn khi mang thai có sao không ? – Nha Khoa Việt Pháp

Trong phần trước chúng ta đã tìm hiểu khá chi tiết về lệnh if trong Python . Đọc bài viết này để chắc chắn là bạn không bỏ qua những thông tin hữu ích về nó nhé.

Bài này, chúng ta sẽ biết thêm về vòng lặp for trong ngôn ngữ lập trình Python cũng như các biến thể của nó, cách sử dụng for để lặp lại một chuỗi các phần tử trong Python như list, string hoặc các đối tượng lặp khác.

[external_link_head]

Cú pháp của for trong Python

for bien_lap in chuoi_lap: Khối lệnh của for

Trong cú pháp trên, chuoi_lap là chuỗi cần lặp, bien_lap là biến nhận giá trị của từng mục bên trong chuoi_lap trên mỗi lần lặp. Vòng lặp sẽ tiếp tục cho đến khi nó lặp tới mục cuối cùng trong chuỗi.

Khối lệnh của for được thụt lề để phân biệt với phần còn lại của code.

Ví dụ 1:

#Lặp chữ cái trong quantrimang for chu in 'quantrimang': print('Chữ cái hiện tại:', chu) #Lặp từ trong chuỗi chuoi = ['bố','mẹ','em'] for tu in chuoi: print('Anh yêu', tu)

Ta có kết quả đầu ra như sau:

Chữ cái hiện tại: q Chữ cái hiện tại: u Chữ cái hiện tại: a Chữ cái hiện tại: n Chữ cái hiện tại: t Chữ cái hiện tại: r Chữ cái hiện tại: i Chữ cái hiện tại: m Chữ cái hiện tại: a Chữ cái hiện tại: n Chữ cái hiện tại: g Anh yêu bố Anh yêu mẹ Anh yêu em

Ví dụ 2:

# Tính tổng tất cả các số trong danh sách A # Danh sách A A = [1, 3, 5, 9, 11, 2, 6, 8, 10] # Biến để lưu trữ tổng các số là tong, gán giá trị ban đầu bằng 0 tong = 0 # Vòng lặp for, a là biến lặp for a in A: tong = tong+a # Đầu ra: Tổng các số là 55 print("Tổng các số là", tong)

Khi chạy đoạn code trên, bạn sẽ nhận được kết quả là:

[external_link offset=1]

Tổng các số là 55

Hàm range()

Bạn có thể sử dụng hàm range() để tạo ra một dãy số. Ví dụ, range(100) sẽ tạo một dãy số từ 0 đến 99 (100 số).

Hàm range(số bắt đầu, số kết thúc, khoảng cách giữa hai số) được sử dụng để tạo dãy số tùy chỉnh. Nếu không đặt khoảng cách giữa hai số thì Python sẽ hiểu mặc định nó bằng 1.

Ví dụ: Viết 100 lần “Anh xin lỗi”, ta sẽ cho biến i lặp từ 0 đến 100 như dưới đây:

for i in range(100): print ("Anh xin lỗi") print("Em ơi, anh chép xong ồi nè!")

Hàm range() không lưu tất cả các giá trị trong bộ nhớ mà nó lưu giá trị bắt đầu, giá trị kết thúc và khoảng cách giữa hai số từ đó tạo ra số tiếp theo trong dãy.

Để range() xuất ra tất cả các giá trị, bạn cần sử dụng đến hàm list() giống như ví dụ dưới đây:

#Lệnh 1 print(range(9)) #Lệnh 2 print(list(range(9))) #Lệnh 3 print(list(range(2, 5))) #Lệnh 4 print(list(range(0, 15, 5)))

Chúng ta sẽ có đầu ra như sau:

range(0, 9) [0, 1, 2, 3, 4, 5, 6, 7, 8] [2, 3, 4] [0, 5, 10]

Mỗi dòng tương ứng với Lệnh 1, 2, 3, 4 ở trên.

Hàm range() có thể sử dụng kết hợp với len() để lặp qua một dãy sử dụng index, như ví dụ dưới đây:

Ví dụ 3:

chuoi = ['bố','mẹ','em'] for tu in range(len(chuoi)): print("Anh yêu",chuoi[tu])

Ta có kết quả đầu ra giống như ví dụ 1 bên trên:

Anh yêu bố Anh yêu mẹ Anh yêu em

Kết hợp for với else

Trong bài trước bạn đã thấy cấu trúc if…else và if…elif…else. Else không chỉ kết hợp được với if mà trong vòng lặp for cũng có thể dùng được.

[external_link offset=2]

Trong for, khối lệnh của else sẽ được thực thi khi các mục trong chuỗi đã được lặp hết.

Ví dụ 4:

B = [0, 2, 4, 5] for b in B: print(b) else: print("Đã hết số.")

ở đây, vòng lặp for sẽ in ra danh sách B cho đến khi hết các mục. Khi vòng lặp kết thúc nó thực thi khối lệnh của else và in. Ta có kết quả sau khi chạy code như sau:

0 2 4 5 Đã hết số.

Lệnh break có thể được sử dụng để dừng vòng lặp for, lúc này phần else sẽ bị bỏ qua. Hay nói cách khác, phần else trong for sẽ chạy khi không có break nào được thực thi.

Ví dụ 5:

#Lặp dãy từ 0 đến 10 for num in range(0,10): #Lặp trên các thừa số của một số trong dãy for i in range(2,num): #Xác định thừa số đầu tiên (phép chia có số dư bằng 0) if num%i == 0: j=num/i #Ước lượng thừa số thứ 2 print ('%d bằng %d * %d' % (num,i,j)) break #Dừng vòng for hiện tại, chuyển đến số tiếp theo trong vòng for đầu tiên else: # Phần else trong vòng lặp print (num, 'là số nguyên tố')

Code trên lặp các số trong dãy từ 0 đến 10, với mỗi số sẽ chạy vòng lặp kiểm tra xem có phải là số nguyên tố không, nếu phải thì in thông báo và dừng vòng lặp kiểm tra, chuyển qua số tiếp theo trong vòng lặp đầu tiên, nếu không phải số nguyên tố thì sẽ thực hiện khối lệnh else. Chạy code trên ta có kết quả như sau:

0 là số nguyên tố 1 là số nguyên tố 2 là số nguyên tố 3 là số nguyên tố 4 bằng 2 * 2 5 là số nguyên tố 6 bằng 2 * 3 7 là số nguyên tố 8 bằng 2 * 4 9 bằng 3 * 3

Trên đây là những kiến thức cơ bản nhất về vòng lặp for, trong bài tiếp theo các bạn sẽ được tìm hiểu về vòng lặp while, bạn còn nhớ đã gặp nó ở đâu trong loạt bài giới thiệu về Python của Quản Trị Mạng không?

Bài tiếp: Vòng lặp while trong Python

Bài trước: Lệnh if, if…else, if…elif…else trong Python[external_footer]

Trả lời

Email của bạn sẽ không được hiển thị công khai.