Vòng lặp vô hạn Python qua danh sách

Trong vòng lặp

5*5=25
9*9=81
6*6=36
done
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

i = 0
while i < 10:
    print[i]

Nhưng có một lỗi ở đây. Không có

5*5=25
9*9=81
6*6=36
done
6 ở cuối thân vòng lặp, vì vậy
5*5=25
9*9=81
6*6=36
done
7 sẽ không bao giờ tăng. Điều này có nghĩa là
5*5=25
9*9=81
6*6=36
done
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
5*5=25
9*9=81
6*6=36
done
5

while True:
0 ra khỏi một vòng lặp

Điều kiện trong vòng lặp

5*5=25
9*9=81
6*6=36
done
5 của bạn luôn là
while True:
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à
while True:
2. Đây là logic bằng tiếng Anh đơn giản

Bắt đầu một vòng lặp vô hạn.
Nhận đầu vào của người dùng.
Nếu đầu vào là 0, dừng vòng lặp.
Nếu đầu vào không phải là 0, hãy làm toán và tiếp tục vòng lặp.

Loại vòng lặp

5*5=25
9*9=81
6*6=36
done
5 này là vô hạn

while True:

Trong vòng lặp này, điều kiện chính là

while True:
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
while True:
5.
while True:
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

while True:
    n = int[input['Give me an integer: ']]

    if n == 0:
        break

    print[str[n] + '*' + str[n] + '=' + str[n*n]]

print['done']

đầu ra mẫu

________số 8

Trong 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],

while True:
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.  

  • bạn biết bạn sẽ làm việc với một dãy có số phần tử hữu hạn
  • bạn thấy số lần lặp lại trước

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ặp

Cú pháp chung để sử dụng vòng lặp for trong Python như sau

while True:
0

Trong cú pháp trên

  • item là biến lặp
  • iterable biểu thị bất kỳ Python iterable nào, chẳng hạn như danh sách, bộ dữ liệu và chuỗi
  • câu lệnh_1 đến câu lệnh_n biểu thị các câu lệnh trong thân vòng lặp

Ghi chú. Đảm bảo thêm dấu hai chấm [

while True:
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ắng

Phổ biến cho các cấu trúc vòng lặp trong Python

Khi sử dụng vòng lặp for

  • Bạn có thể truy cập trực tiếp vào các mục bằng cú pháp đã thảo luận trong phần trước
  • Bạn có thể sử dụng vòng lặp for kết hợp với các hàm có sẵn trong Python như
    while True:
    
    16 và
    while True:
    
    17

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,

while True:
18 là danh sách các số mà chúng tôi sử dụng
while True:
19 làm biến vòng lặp. Lưu ý cách
while True:
60 trực quan và dễ đọc

while True:
7

Thêm một vài ví dụ nữa, bạn có thể sử dụng

while True:
61 và
while True:
62 khi lần lượt lặp qua danh sách
while True:
63 và
while True:
64

Sử 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

while True:
16

Trong Python,

while True:
66 trả về một đối tượng phạm vi mà bạn có thể lặp qua để lấy các chỉ số.
while True:
67,
while True:
68, v.v., tối đa nhưng không bao gồm
while True:
69

while True:
1

Bạn cũng có thể sử dụng hàm

while True:
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ố
while True:
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

while True:
6

Sử 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ụ

while True:
9

Cá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,

while True:
18 là biến lặp và num là biến lặp

while True:
3

Cách lặp qua các chuỗi bằng for Loop trong Python

Cá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.  

Ghi chú. Python không có kiểu dữ liệu ký tự tích hợp. Vì vậy, bạn có thể coi một ký tự là một chuỗi có độ dài một

while True:
4

Cách lặp qua mảng bằng for Loop trong Python

Bạ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

while True:
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

while True:
93 khác

while True:
7

Trong ô mã trên

  • Vòng lặp for bên ngoài giúp bạn lập chỉ mục cho các hàng
  • Vòng lặp for bên trong cho phép bạn chạm vào các phần tử trong mỗi hàng

Đây là đầu ra tương ứng

while True:
8

Cách đọc các đối số dòng lệnh bằng for Loop

Là 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

while True:
94 và sử dụng vòng lặp
while True:
93—để lặp qua danh sách đối số dòng lệnh

Trong mô-đun sys,

while True:
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
while True:
96 giống như cách bạn lặp qua bất kỳ danh sách Python nào

while True:
70

Bây giờ bạn có thể chạy chương trình từ dòng lệnh, như hình bên dưới

while True:
71

Theo mặc định, tên của mô-đun là đối số đầu tiên và nằm ở chỉ số 0 trong

while True:
96

Nế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

while True:
16

while True:
72

▶️ Tiếp theo, chạy lại main. py

while True:
73

Giả 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

while True:
74
while True:
75

Tổng hợp lại, phần chính. tệp py chứa đoạn mã sau.

while True:
76

Đây là kết quả khi bạn chạy mô-đun

while True:
77

Cách sử dụng câu lệnh break Inside cho vòng lặp

Giố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

while True:
30 và
while True:
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 for

Câu lệnh

while True:
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à
while True:
33

Chúng tôi muốn viết một chương trình để làm như sau

  • Sửa lỗi
    while True:
    
    34, số lượng đầu vào
  • Sử dụng vòng lặp
    while True:
    
    93 để đọc đầu vào của người dùng—mỗi lần một chữ số và tính tổng các số không âm [lớn hơn hoặc bằng 0]
  • Quá trình này sẽ tiếp tục miễn là người dùng nhập các số không âm
  • Khi người dùng nhập số âm thì thoát khỏi vòng lặp và in ra tổng

Đây là mã thực hiện nhiệm vụ trên

while True:
78

Nế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

while True:
79

Cách sử dụng câu lệnh continue Bên trong vòng lặp

Câu lệnh

while True:
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

  • Đọc đầu vào của người dùng và tính tổng các số không âm
  • Nếu người dùng nhập số âm, hãy bỏ qua lần lặp đó, chuyển sang lần lặp tiếp theo và đọc số tiếp theo
while True:
10

Đây là một đầu ra mẫu

while True:
11

Số 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

while True:
37

while True:
12
  • Khi bạn gọi hàm
    while True:
    
    37 mà không chỉ định giá trị của
    while True:
    
    39, giá trị mặc định là 1 sẽ được sử dụng
  • Khi bạn chỉ định một giá trị cho
    while True:
    
    39 trong lệnh gọi hàm, giá trị đó được sử dụng
while True:
13

Trong Python, hàm trả về một đối tượng iterator. Bạn có thể sử dụng

while True:
41 để lặp lại trình tự và truy cập các mục tiếp theo

– Xem xét một đối tượng có thể gọi được và một giá trị, sentinel

– Có thể sử dụng

while True:
42 để thực hiện phép lặp cho đến khi giá trị trả về từ
while True:
43 bằng với
while True:
44

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ị

while True:
43 và một giá trị
while True:
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ãi

Hãy sử dụng hàm trên

while True:
47 làm hàm có thể gọi được và đặt giá trị sentinel thành 0

Ghi chú. Đề cập đến tên của hàm

while True:
47, không phải hàm gọi
while True:
37

Vì giá trị trả về từ hàm

while True:
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

while True:
14

Python 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

while True:
16 với giá trị
while True:
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ố

while True:
91 trong hàm
while True:
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.

Chủ Đề