Vòng lặp vô hạn Python qua danh sách
Trong vòng lặp 5, bạn cần viết điều kiện để vòng lặp tiếp tục chạy. Tuy nhiên, nếu bạn không xử lý điều kiện một cách chính xác, có thể tạo ra một vòng lặp vô hạn. Hãy xem ví dụ này, ví dụ này sẽ cố gắng in ra các số từ 0 đến 9 Show
Nhưng có một lỗi ở đây. Không có 6 ở cuối thân vòng lặp, vì vậy 7 sẽ không bao giờ tăng. Điều này có nghĩa là 8 sẽ luôn đúng và vòng lặp sẽ không bao giờ kết thúc. Đây được gọi là vòng lặp vô hạn, có thể khiến chương trình của bạn bị treo. Thận trọng khi sử dụng vòng lặp 5while True: 0 ra khỏi một vòng lặpĐiều kiện trong vòng lặp 5 của bạn luôn là 1 không nhất thiết là xấu trong một số trường hợp. Đôi khi các vòng lặp này có thể đơn giản hóa logic chương trình và dễ hiểu hơn, nhưng để nó không làm máy tính của bạn quá tải, bạn phải có một cách khác để máy tính thoát khỏi vòng lặp. Hãy viết một chương trình liên tục nhận các số nguyên từ đầu vào của người dùng và in ra các ô vuông, cho đến khi đầu vào là 2. Đây là logic bằng tiếng Anh đơn giảnBắt đầu một vòng lặp vô hạn. Loại vòng lặp 5 này là vô hạn
Trong vòng lặp này, điều kiện chính là 1, vì vậy máy tính sẽ luôn tiếp tục chạy vòng lặp. Bây giờ chúng ta cần một cách để thoát khỏi vòng lặp. Điều này có thể được thực hiện với từ khóa 5. 5 sẽ khiến vòng lặp hiện tại kết thúc và máy tính sẽ chuyển đến mã ngay sau vòng lặp. Đây là một ví dụ điển hình về một vòng lặp vô hạn hoạt động
đầu ra mẫu ________số 8Trong ví dụ này, máy tính sẽ tiếp tục chạy mã cho đến khi người dùng cung cấp cho nó đầu vào là 0 Ghi chú. nếu bạn có các vòng lặp lồng nhau (vòng lặp bên trong một vòng lặp khác), 5 chỉ thoát khỏi vòng lặp mà nó nằm trực tiếp trong đó và mã tiếp tục ở vòng lặp bên ngoài Trong lập trình, vòng lặp giúp bạn lặp lại một tập hợp các câu lệnh cụ thể. Bạn sẽ sử dụng vòng lặp for cho các lần lặp xác định khi.
Hướng dẫn này sẽ hướng dẫn bạn tất cả về cách làm việc với vòng lặp for trong Python. Bạn sẽ bắt đầu bằng cách học cú pháp và các phép lặp đơn giản bằng cách sử dụng vòng lặp for. Sau đó, bạn sẽ tìm hiểu về cách xử lý các đối số dòng lệnh, cách sử dụng các câu lệnh điều khiển vòng lặp, v.v. Bắt đầu nào… Cú pháp của Python cho vòng lặpCú pháp chung để sử dụng vòng lặp for trong Python như sau 0Trong cú pháp trên
Ghi chú. Đảm bảo thêm dấu hai chấm ( 15) sau tên của vòng lặp và thụt lề tất cả các câu lệnh trong thân vòng lặp bằng bốn khoảng trắngPhổ biến cho các cấu trúc vòng lặp trong PythonKhi sử dụng vòng lặp for
Chúng tôi sẽ đề cập đến chúng trong phần này Sử dụng for Loop để truy cập các phần tửĐể cải thiện khả năng đọc, bạn nên chọn một biến vòng lặp cho biết danh sách chứa gì. Ví dụ: trong ví dụ bên dưới, 18 là danh sách các số mà chúng tôi sử dụng 19 làm biến vòng lặp. Lưu ý cách 60 trực quan và dễ đọc 7Thêm một vài ví dụ nữa, bạn có thể sử dụng 61 và 62 khi lần lượt lặp qua danh sách 63 và 64Sử dụng for Loop với hàm range()Khi bạn muốn truy cập một mục danh sách thông qua chỉ mục của nó, bạn có thể sử dụng hàm 16
1Bạn cũng có thể sử dụng hàm 16 để tạo một dãy số để lặp qua. Trong ví dụ bên dưới, chúng tôi đặt tham số 91 tùy chọn thành 2. Vì vậy, chúng tôi nhận được các số từ 10 đến nhưng không bao gồm 20, trong các bước 2 6Sử dụng for Loop với hàm enumerate()Khi bạn muốn lặp qua một iterable và truy cập đồng thời các mục và chỉ số của chúng, bạn có thể sử dụng hàm enumerate() Đây là một ví dụ 9Cách đọc các mục từ danh sách bằng vòng lặp for trong PythonĐể lặp qua các danh sách Python bằng vòng lặp for, bạn có thể sử dụng cú pháp chung từ phần trước Trong ví dụ bên dưới, 18 là biến lặp và num là biến lặp 3Cách lặp qua các chuỗi bằng for Loop trong PythonCác chuỗi Python có thể lặp lại và bạn có thể thực hiện lặp, lập chỉ mục, cắt, v.v.
4Cách lặp qua mảng bằng for Loop trong PythonBạn có thể lặp qua các mảng bằng cách sử dụng các vòng lặp và các vòng lặp for lồng nhau Trong đoạn mã bên dưới, mảng1 là một danh sách lồng nhau chứa các danh sách nhỏ hơn làm phần tử của nó. Vì vậy, việc lặp qua mảng1 sẽ cho mỗi hàng, như hình bên dưới 5Để truy cập các phần tử riêng lẻ trong mỗi hàng, bạn có thể sử dụng một vòng lặp 93 khác 7Trong ô mã trên
Đây là đầu ra tương ứng 8Cách đọc các đối số dòng lệnh bằng for LoopLà một nhà phát triển, bạn nên thoải mái chạy các tập lệnh Python từ dòng lệnh và sử dụng các đối số dòng lệnh để tương tác với tập lệnh của mình Bạn có thể sử dụng các mô-đun tích hợp sẵn của Python như sys và argparse để phân tích và đọc các đối số dòng lệnh Trong phần này, chúng ta sẽ tìm hiểu cách sử dụng mô-đun 94 và sử dụng vòng lặp 93—để lặp qua danh sách đối số dòng lệnhTrong mô-đun sys, 96 là danh sách các đối số dòng lệnh mà bạn chuyển vào. Vì vậy, bạn có thể lặp qua 96 giống như cách bạn lặp qua bất kỳ danh sách Python nào 70Bây giờ bạn có thể chạy chương trình từ dòng lệnh, như hình bên dưới 71Theo mặc định, tên của mô-đun là đối số đầu tiên và nằm ở chỉ số 0 trong 96Nếu bạn muốn truy cập các chỉ số và đối số tương ứng, bạn có thể sử dụng hàm 16 72▶️ Tiếp theo, chạy lại main. py 73Giả sử bạn muốn phân tích cú pháp và xử lý các đối số khác với tên mô-đun. Bạn có thể đặt giá trị bắt đầu thành 1, như trong ô mã bên dưới 74 75Tổng hợp lại, phần chính. tệp py chứa đoạn mã sau. 76Đây là kết quả khi bạn chạy mô-đun 77Cách sử dụng câu lệnh break Inside cho vòng lặpGiống như các ngôn ngữ lập trình khác, Python cũng hỗ trợ sử dụng các câu lệnh điều khiển vòng lặp 30 và 31. Các câu lệnh này có thể giúp thay đổi luồng điều khiển trong các vòng lặp, dựa trên một số điều kiện. Hãy xem cách sử dụng chúng bên trong vòng lặp forCâu lệnh 30 the có thể được sử dụng để thoát ra khỏi vòng lặp khi một điều kiện cụ thể là 33Chúng tôi muốn viết một chương trình để làm như sau
Đây là mã thực hiện nhiệm vụ trên 78Nếu người dùng nhập một số nhỏ hơn 0, điều khiển sẽ thoát ra khỏi vòng lặp for đến câu lệnh đầu tiên sau vòng lặp 79Cách sử dụng câu lệnh continue Bên trong vòng lặpCâu lệnh 31 có thể được sử dụng để bỏ qua một số lần lặp tùy thuộc vào một điều kiện cụ thểHãy sử dụng các ví dụ tương tự trong phần trước
10Đây là một đầu ra mẫu 11Số thứ tư là -1, là số âm. Tuy nhiên, lần này vòng lặp for tiếp tục cho đến khi chúng tôi đạt được số lượng đầu vào đã chỉ định và bỏ qua các đầu vào âm. Về cơ bản, nó trả về tổng của tất cả các số không âm từ k số đầu vào Bạn có thể chạy vào vòng lặp vô hạn trong Python không?Trong tất cả các ví dụ và trường hợp sử dụng mà chúng ta đã thảo luận cho đến nay, chúng ta chưa bao giờ gặp phải vấn đề về vòng lặp for vô hạn. Nhưng chúng ta có thể có vòng lặp for vô hạn trong Python không? Hãy xem xét các chức năng sau đây 37 12
13Trong Python, hàm trả về một đối tượng iterator. Bạn có thể sử dụng 41 để lặp lại trình tự và truy cập các mục tiếp theo
Bạn có thấy tại sao chúng ta có thể có vòng lặp for vô hạn trong trường hợp này không? Chà, bạn có một giá trị 43 và một giá trị 44. Nếu giá trị trả về từ callable không bao giờ bằng với sentinel, thì vòng lặp sẽ tiếp tục mãi mãiHãy sử dụng hàm trên 47 làm hàm có thể gọi được và đặt giá trị sentinel thành 0Ghi chú. Đề cập đến tên của hàm 47, không phải hàm gọi 37Vì giá trị trả về từ hàm 47 luôn là 2 và không bao giờ bằng 0, nên chúng ta có một vòng lặp vô hạn▶️ Hãy thử chạy ô mã sau. Đó là vòng lặp for vô hạn và bạn sẽ buộc phải dừng chương trình 14Python cho vòng lặp. Câu hỏi thực hành#1. Sử dụng vòng lặp for để in ra tất cả các số chẵn trong khoảng từ 0 đến 20 Gợi ý. Sử dụng hàm 16 với giá trị 91 chính xác. #2. In ra tất cả các số chẵn từ 20 đến 0 Gợi ý. Sử dụng giá trị âm cho tham số 91 trong hàm 16#3. Tạo không gian ba chiều Gợi ý. Sử dụng vòng lặp for và vòng lặp for lồng nhau khi cần để truy cập các hàng và mục riêng lẻ trong mảng Bạn có thể lặp lại danh sách không?Sử dụng vòng lặp for trong Python là một trong những phương pháp đơn giản nhất để lặp qua danh sách hoặc bất kỳ chuỗi nào khác (e. g. bộ dữ liệu, bộ hoặc từ điển). Ở đây, vòng lặp for đã in từng mục trong danh sách.
Bạn có thể lặp qua 2 danh sách trong Python không?Ví dụ 2. Sử dụng itertools (Python 2+)
. Phương thức cho phép vòng lặp chạy cho đến khi danh sách dài nhất dừng lại. Using the zip_longest() method of itertools module, you can iterate through two parallel lists at the same time. The method lets the loop run until the longest list stops. |