Cách dùng vòng lặp for trong Python

Vòng lặp for là một kỹ năng lập trình thiết yếu. Hãy cùng BNOK.VN học cách sử dụng Loops trong Python nhé!

Cách sử dụng vòng lặp trong PythonCách sử dụng vòng lặp trong Python

Giống như mọi ngôn ngữ lập trình khác, vòng lặp trong Python là cách tuyệt vời để không phải viết lại code. Tuy nhiên, khác vòng lặp while của Python, vòng lặp for là một câu lệnh dòng điều khiển cuối cùng, cho bạn nhiều thẩm quyền hơn trên mỗi mục trong seri.

Dù mới bắt đầu hay đã có chút kinh nghiệm về Python thì việc nắm chắc các vòng lặp for là chìa khóa để giải quyết các vấn đề liên quan tới dãy dữ liệu. Giờ hãy cùng nhau tìm hiểu cách thức vòng lặp for hoạt động trong Python cùng một số ví dụ về cách bạn có thể sử dụng nó để giải quyết các thách thức về mã hóa.

Bạn đang xem: Cách dùng vòng lặp for trong Python

Cách thức hoạt động của vòng lặp for trong Python

Vòng lặp for của Python hoạt động bằng cách lặp qua chuỗi của một mảng (array). Về cơ bản, nó hữu ích khi xử lý các chuỗi, danh sách, từ điển, tập hợp hoặc bộ giá trị. Từ khóa in thường theo sau vòng lặp for trong Python.

Một vòng lặp for có đặc điểm tương tự trong tất cả ngôn ngữ lập trình. Ví dụ, dù có sự khác biệt về cú pháp, đặc điểm vòng lặp for của Java tương tự của Python.

Cú pháp chung của một Python cho vòng lặp for như sau:

for new_variable in parent_variable:
execute some statements

Như đã nói từ đầu, khác while, vòng lặp for mạnh hơn nên nó cung cấp nhiều quyền kiểm soát luồng hơn.

Cụ thể, một vòng for giống như câu lệnh: “for every male student you meet in a class, write down one, else, write down it’s a class of females only.”

Xem thêm  Dàn ý miêu tả chân dung một người bạn

Câu lệnh này giống như một hướng dẫn đơn giản, cho bạn biết bạn cần viết tên từng nam sinh đã gặp trong một lớp học cụ thể. Nó là một vòng lặp liên tục. Tuy nhiên, để bắt đầu vòng lặp for trong trường hợp này, bạn phải gặp một học sinh nam. Nếu không, sau đó, bạn phải viết câu lệnh else (nếu không).

Nếu câu lệnh trên không có điều kiện else, bạn sẽ không cần phải viết thêm bất điều gì sau đó. Điều đó có nghĩa nó là một mảng trống.

Cách sử dụng vòng lặp for của Python – Ví dụ thực tế

Giờ hãy xét một số ví dụ thực tế về cách sử dụng vòng lặp for trong Python.

Đoạn mã bên dưới xuất ra từng mục trong danh sách:

items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
print(i)

Bạn có thể chỉnh sửa code trên để xuất bất kỳ mục có chữ cái “a”:

items = ["shoe", "bag", "shirts", "lamp"]
for i in items:
if "a" in i:
print(i)

Một vòng lặp for trong Python cũng dùng câu lệnh else trực tiếp:

b=[2, 3, 5, 6]
for i in b:
print(i)
else:
print("Loop has ended")

Bạn có thể dùng lệnh break để thay đổi quy trình của một vòng lặp:

b=[2, 3, 5, 6]
for i in b:
if i>3:
break
print(i)

Bạn cũng có thể sử dụng từ khóa continue với một loop for:

b=[2, 3, 5, 6]
for i in b:
if i>3:
continue
print(i)

Sử dụng vòng lặp for với chuỗi List và String trong Python

Giờ hãy nhìn vào code bên dưới để xuất toàn bộ các số nguyên dưới từ 1 tới 100. Để làm việc này, đầu tiên tạo một danh sách các số trong phạm vi từ 1 tới 100 bằng hàm range của Python.

for x in range(1, 101):
print(x)

Bạn có thể chỉnh sửa khối code bằng cách giới thiệu một lệnh điều kiện để xuất toàn bộ số lẻ giữa 1 và 100.

for x in range(1, 101):
if x%2==1:
print(x)

Tuy nhiên, bạn cũng có thể tạo bảng cửu chương nhấn 2 theo đầu ra của đoạn mã trên. Để làm việc này, bạn chỉ cần thêm một vài câu lệnh:

for x in range(1, 101):
if x%2==1:
print(x, "x", 2, "=", x * 2)

Giờ bạn đã biết cách vòng lặp for hoạt động với một danh sách các số nguyên. Tiếp theo, hãy tìm hiểu cách sử dụng vòng lặp for với các chuỗi.

Xem thêm  Mở bài bài thơ Lục Vân Tiên cứu Kiều Nguyệt Nga

Code bên dưới trả về một chuỗi của mỗi string trong một lệnh:

a = "How to use a for loop in Python"
for i in a:
print(i)

Chúng ta cũng có thể đếm số của chuỗi (bao gồm khoảng cách) trong biến a sử dụng vòng lặp for:

a = ["How to use a for loop in Python"]
for i in a:
print(i.count(''))
Output: 32

Tuy nhiên, bạn cũng có thể đặt một vòng lặp for trong một biến riêng và nhận kết quả tương tự bằng cách viết lại code trên như sau:

a=["How to use a for loop in Python"]
c=[b.count('') for b in a]
print(c)
Output: [32]

Lưu ý: Để có được số lượng ký tự, đảm bảo không có khoảng cách giữa các dấu ngoặc kép trong ngoặc đơn theo sau từ khóa count.

Bạn cũng có thể chỉnh sửa từng code trong hai đoạn mã gần nhất ở trên để tạo một bộ đếm từ đơn giản bằng vòng lặp for. Toàn bộ việc bạn cần làm ở trường hợp này là chèn một khoảng trắng giữa mỗi dấu ngoặc kép trong dấu ngoặc đơn:

a=["How to use a for loop in Python"]
for i in a:
print(i.count(' ') + 1)
Output: 8

Giống như đã từng làm ở bộ đếm ký tự, bạn cũng có thể viết lại code đếm từ ở trên bằng cách đặt vòng lặp for trong một biến như sau:

a = ["How to use a for loop in Python"]
c=[b.count(' ') + 1 for b in a]
print(c)
Output: [8]

Chú ý tới khoảng trắng duy nhất nằm ở giữa các trích dẫn trong ngoặc đơn.

Xem thêm  Bộ đề thi học kì 2 môn Sinh học lớp 11 năm 2021 – 2022

Sử dụng Python để tạo vòng lặp với một array

Bạn cũng có thể dùng vòng lặp for để có một nhân tố cụ thể trong một array.

Giải sử bạn có một mảng dữ liệu Sheep với các giá trị Yes cho động vật “healthy” và No cho “unhealthy”. Mỗi con cừu đều có tên riêng và bạn muốn cách ly tất cả những con bị bệnh.

Bạn có thể dùng vòng lặp for để xuất toàn bộ cừu bị bệnh, chẳng hạn như sau:

array = [{"name":"Sheep1", "healthy":"Yes"},
{"name":"Sheep3", "healthy":"No"},
{"name":"Sheep4", "healthy":"Yes"},
{"name":"Sheep5", "healthy":"Yes"},
{"name":"Sheep8", "healthy":"No"},
{"name":"Sheep7", "healthy":"No"},
{"name":"Sheep9", "healthy":"No"}
]
for sheeps in array:
if sheeps["healthy"]=="No":
print("Quarantine", sheeps["name"])

Sử dụng Nested cho vòng lặp trong Python

Một vòng lặp for lồng nhau rất hữu ích khi bạn muốn xuất từng nhân tố trong một dãy phần tử phức tạp hay được lồng nhau. Nó hoạt động bằng cách đặt một vòng lặp bên trong vòng lặp khác. Ví dụ:

nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}]
for dict in nested_list:
for i in dict:
print(i)

Tùy thuộc vào vấn đề, mỗi vòng lặp forwhile có tầm ảnh hưởng riêng trong Python. Trên đây là cách dùng vòng lặp cơ bản trong Python. Hi vọng bài viết hữu ích với các bạn.

Đăng bởi: BNOK.VN

Chuyên mục: Hướng dẫn giáo viên

27 bình luận về “Cách dùng vòng lặp for trong Python”

  1. Have you ever thought about creating an ebook or guest authoring on other sites? I have a blog based on the same ideas you discuss and would really like to have you share some stories/information. I know my visitors would value your work. If you’re even remotely interested, feel free to send me an e-mail.

  2. An impressive share, I just given this onto a colleague who was doing a little analysis on this. And he in fact bought me breakfast because I found it for him.. smile. So let me reword that: Thnx for the treat! But yeah Thnkx for spending the time to discuss this, I feel strongly about it and love reading more on this topic. If possible, as you become expertise, would you mind updating your blog with more details? It is highly helpful for me. Big thumb up for this blog post!

  3. You actually make it seem so easy with your presentation but I find this matter to be really something that I think I would never understand. It seems too complex and very broad for me. I’m looking forward for your next post, I will try to get the hang of it!

  4. Someone necessarily lend a hand to make seriously articles I would state. That is the first time I frequented your website page and up to now? I surprised with the research you made to create this actual post amazing. Magnificent job!

  5. Wonderful goods from you, man. I have understand your stuff previous to and you’re just extremely wonderful. I actually like what you have acquired here, certainly like what you’re saying and the way in which you say it. You make it enjoyable and you still care for to keep it wise. I can’t wait to read much more from you. This is really a great web site.

  6. Thanks for another informative site. Where else could I get that type of information written in such a perfect way? I’ve a project that I’m just now working on, and I’ve been on the look out for such information.

  7. I really wanted to make a brief remark so as to say thanks to you for these pleasant ideas you are sharing at this site. My time-consuming internet research has finally been compensated with useful points to exchange with my colleagues. I would point out that many of us site visitors actually are undeniably lucky to live in a fine site with many lovely individuals with great things. I feel quite grateful to have discovered your entire web site and look forward to many more fabulous moments reading here. Thanks a lot again for everything.

  8. What i do not realize is if truth be told how you’re no longer really a lot more smartly-liked than you may be now. You’re so intelligent. You understand therefore considerably relating to this topic, made me in my view consider it from a lot of varied angles. Its like women and men don’t seem to be involved except it’s one thing to accomplish with Lady gaga! Your individual stuffs nice. All the time handle it up!

  9. Hey there, I think your website might be having browser compatibility issues. When I look at your blog in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, wonderful blog!

  10. of course like your web site however you need to test the spelling on quite a few of your posts. Many of them are rife with spelling issues and I in finding it very bothersome to tell the reality however I?¦ll certainly come back again.

  11. I keep listening to the news talk about receiving free online grant applications so I have been looking around for the top site to get one. Could you tell me please, where could i get some?

  12. naturally like your web site but you need to take a look at the spelling on quite a few of your posts. Many of them are rife with spelling problems and I in finding it very troublesome to inform the truth then again I’ll definitely come back again.

  13. Simply want to say your article is as astounding. The clarity in your publish is just excellent and that i can assume you’re a professional in this subject. Well with your permission allow me to seize your RSS feed to keep updated with approaching post. Thanks one million and please continue the gratifying work.

  14. Good post. I learn something new and challenging on sites I stumbleupon
    Hi, I do think this is an excellent blog. I stumbledupon it 😉 I am going to
    “강남오피”
    come back once again since I book marked it. Money and freedom is the
    best way to change, may you be rich and continue to help others.

Viết một bình luận