Chúng ta có thể sử dụng vòng lặp for và while cùng nhau trong Python không?

Các chương trình thường phải chạy đi chạy lại các lệnh giống nhau. Python cung cấp hai loại câu lệnh lặp để xử lý hai tình huống khác nhau. Vòng lặp Python

1
2
3
3 được sử dụng khi biết trước số lần lặp trước khi vòng lặp bắt đầu chạy. Ngược lại, vòng lặp Python
1
2
3
4 lặp lại miễn là một điều kiện nhất định là đúng. Hướng dẫn này mô tả cách sử dụng cả hai loại vòng lặp và giải thích cách sử dụng Python cho các tình huống phổ biến như lặp qua từ điển

Giới thiệu về vòng lặp for và while trong Python

Câu lệnh

1
2
3
3 của Python là một câu lệnh luồng điều khiển thực thi một khối mã cụ thể trong một số lần nhất định. Nếu không có lệnh này, việc lập trình sẽ tẻ nhạt và ít hữu ích hơn nhiều. Mỗi vòng lặp
1
2
3
3 chứa một trình sắp xếp thứ tự xác định số lần vòng lặp sẽ chạy. Một số vòng lặp sử dụng hàm
1
2
3
7 để phân định điểm bắt đầu và điểm dừng. Các vòng lặp khác sử dụng cấu trúc dữ liệu tuần tự, chẳng hạn như danh sách, chuỗi hoặc từ điển để xác định trình tự. Trong trường hợp này, độ dài của cấu trúc dữ liệu xác định phạm vi. Vòng lặp lặp lại một lần cho mỗi mục trong cấu trúc

Vòng lặp

1
2
3
3 được sử dụng bất cứ khi nào vòng lặp chạy một số lần nhất định. Trong trường hợp bình thường, những thay đổi bên trong vòng lặp không khiến vòng lặp kết thúc sớm. Tuy nhiên, câu lệnh
1
2
3
9 cho phép kết thúc vòng lặp sớm trong các điều kiện không mong muốn hoặc bất lợi. Dưới đây là một số trường hợp khi một vòng lặp có thể hữu ích

  • Đếm số lần mỗi điểm chữ cái xuất hiện trong bảng điểm của học sinh
  • Đưa ra một danh sách nhân viên, xác định có bao nhiêu người không hoàn thành khóa học đạo đức bắt buộc
  • Cập nhật mô hình kinh tế vĩ mô cho từng năm trong mười năm tới

Trong những trường hợp này, chương trình có thể xác định phạm vi của vòng lặp trước khi nó bắt đầu lặp. Trong trường hợp đầu tiên, một danh sách hữu hạn các lớp được sử dụng làm trình sắp xếp thứ tự cho vòng lặp. Nếu danh sách là

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
0, thì vòng lặp lặp lại năm lần, một lần cho mỗi cấp độ

Câu lệnh Python

1
2
3
4 tiếp tục thực thi một khối mã miễn là điều kiện kiểm tra là đúng. Vòng lặp dừng chạy khi điều kiện không còn. Do đó, không thể biết trước vòng lặp có thể chạy bao nhiêu lần. Để xác định xem vòng lặp có lặp lại hay không, Python tính toán giá trị Boolean của biểu thức điều kiện của câu lệnh. Một ví dụ về loại biểu thức này là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
2. Nếu biểu thức ước tính là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, thì Python sẽ thực hiện lại vòng lặp. Nếu là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 thì Python ngừng chạy vòng lặp. Luồng điều khiển chuyển đến câu lệnh tiếp theo sau vòng lặp

Miễn là biểu thức của nó tiếp tục là

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, vòng lặp
1
2
3
4 có thể tiếp tục chạy vô thời hạn. Để vòng lặp kết thúc, biểu thức điều kiện phải thay đổi thành
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 tại một số điểm. Điều này có nghĩa là ít nhất một trong các biến được sử dụng trong biểu thức phải được cập nhật ở đâu đó trong khối mã. Một biểu thức điều kiện không bao giờ có thể thay đổi thành
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 dẫn đến một vòng lặp vô hạn. Loại vòng lặp này được định nghĩa là một chuỗi hướng dẫn lặp lại vô tận. Có một vài trường hợp điều này là mong muốn, ví dụ, trong nhân của một hệ điều hành. Nhưng hầu hết thời gian, đây là một lỗi. Luôn đảm bảo biểu thức điều kiện có thể thay đổi với các điều kiện thoát chính xác

Trong một số trường hợp, việc thêm điều kiện bảo vệ vào biểu thức điều kiện là hợp lý. Ví dụ: một vòng lặp xác thực mật khẩu người dùng sẽ giới hạn số lần thử. Bộ bảo vệ thường có dạng bộ đếm vòng lặp tăng dần theo mỗi lần lặp

Dưới đây là một vài ví dụ về các trường hợp có thể sử dụng câu lệnh

1
2
3
4

  • Người dùng liên tục được nhắc nhập mật khẩu cho đến khi họ nhập chính xác
  • Một chương trình chấp nhận và xử lý đầu vào mới cho đến khi người dùng nhập một chuỗi thoát
  • Hàm tiếp tục đọc dữ liệu từ luồng miễn là kết nối vẫn mở

Tóm lại, một câu lệnh

1
2
3
3 được sử dụng khi biết trước số lần lặp tối đa. Sử dụng câu lệnh
1
2
3
4 khi vòng lặp sẽ tiếp tục chạy cho đến khi có gì đó thay đổi

Trước khi bắt đầu

Ghi chú

Các bước trong hướng dẫn này được viết cho người dùng không root. Các lệnh yêu cầu đặc quyền nâng cao có tiền tố là

1
2
3
92. Nếu bạn không quen với lệnh
1
2
3
92, hãy xem hướng dẫn Người dùng và Nhóm Linux

Vòng lặp Python

Python cho vòng lặp

Câu lệnh Python

1
2
3
3 là một câu lệnh ghép. Nó bao gồm một tiêu đề và một khối mã. Dòng đầu tiên của câu lệnh, cho đến ký hiệu
1
2
3
95, là tiêu đề. Tiêu đề chứa các thành phần sau

  1. Từ khóa
    1
    2
    3
    
    3, bắt đầu câu lệnh
  2. Một biến vòng lặp, còn được gọi là iterator. Biến này được tăng hoặc giảm với mỗi lần lặp mới của vòng lặp. Không cần xác định trước biến vòng lặp. Python tạo biến này khi nó được sử dụng lần đầu tiên
  3. Từ khóa
    1
    2
    3
    
    97
  4. Một trình tự để hạn chế số lần vòng lặp thực hiện. Điều này được cung cấp bằng cách sử dụng hàm
    1
    2
    3
    
    7 hoặc đối tượng dữ liệu tuần tự. Hàm
    1
    2
    3
    
    7 tích hợp chấp nhận tối đa ba số nguyên. Chúng đại diện cho vị trí bắt đầu, vị trí kết thúc và
    1
    2
    3
    
    70 cho chuỗi. Kiểu dữ liệu tuần tự có thể là Chuỗi, Danh sách, Tập hợp, Tuple hoặc Từ điển. Thông tin chi tiết được cung cấp trong các phần sau
  5. Biểu tượng
    1
    2
    3
    
    95 kết thúc tiêu đề câu lệnh

Mỗi câu lệnh

1
2
3
3 được ghép nối với một khối mã thực thi, được gọi là bộ. Khối mã bao gồm một hoặc nhiều dòng mã thụt vào. Dòng mã không thụt đầu tiên kết thúc khối mã. Theo hướng dẫn về kiểu PEP 8 của Python, vết lõm phải dài bốn khoảng trắng

Khi bắt đầu mỗi vòng lặp, Python tăng giá trị của trình vòng lặp và xác minh xem vòng lặp có nên tiếp tục hay không. Nếu vậy, Python sẽ thực thi lại khối mã

Sử dụng Python cho Vòng lặp với Phạm vi

Câu lệnh

1
2
3
3 trong Python thường được sử dụng với từ khóa
1
2
3
7. Khi hàm
1
2
3
7 được sử dụng để tính toán chuỗi, vòng lặp sẽ tiếp tục chạy miễn là trình vòng lặp nằm trong phạm vi. Khi được sử dụng với hàm
1
2
3
7, cú pháp cho vòng lặp Python
1
2
3
3 tuân theo định dạng bên dưới

1
2
3
5

Toán tử

1
2
3
7 chấp nhận tối đa ba tham số nguyên

  • 1
    2
    3
    
    79. Đây đóng vai trò là giá trị ban đầu của
    1
    2
    3
    
    0 và điểm bắt đầu của
    1
    2
    3
    
    7. Nếu giá trị
    1
    2
    3
    
    79 bị bỏ qua, nó sẽ mặc định là
    1
    2
    3
    
    3. Nó bao gồm, có nghĩa là
    1
    2
    3
    
    0 được đặt thành giá trị này cho phiên bản đầu tiên của vòng lặp
  • 1
    2
    3
    
    5. Giá trị bắt buộc này xác định vị trí kết thúc của
    1
    2
    3
    
    7. Một so sánh được thực hiện giữa giá trị của
    1
    2
    3
    
    0 và điểm cuối ở đầu vòng lặp. Nếu
    1
    2
    3
    
    0 vẫn nằm trong phạm vi, vòng lặp tiếp tục lặp lại. Giá trị này là độc quyền, vì vậy nếu
    1
    2
    3
    
    5 và
    1
    2
    3
    
    0 bằng nhau, vòng lặp sẽ ngừng chạy
  • 1
    2
    3
    
    70.
    1
    2
    3
    
    70 cho biết số lượng
    1
    2
    3
    
    0 sẽ tăng lên trong mỗi chu kỳ. Nó là tùy chọn và có giá trị mặc định là
    1
    2
    3
    
    04. Nếu sử dụng
    1
    2
    3
    
    70, cả ba giá trị phải được chỉ định

Để minh họa cách các giá trị này hoạt động cùng nhau,

1
2
3
06 tăng trình vòng lặp từ
1
2
3
3 lên
1
2
3
08 và chạy năm lần.
1
2
3
09 đặt trình vòng lặp thành
1
2
3
04 để bắt đầu và tăng nó bằng
1
2
3
11 với mỗi lần lặp. Nó chỉ chạy hai lần, vì lần thứ ba iterator là
1
2
3
12, bằng với giá trị
1
2
3
5

Chương trình sau đây trình bày cách sử dụng hàm

1
2
3
7 để hạn chế vòng lặp Python
1
2
3
3.
1
2
3
7 sử dụng giá trị
1
2
3
79 mặc định và điểm
1
2
3
5 là 5. Trình vòng lặp
1
2
3
19 được đặt thành 0 khi bắt đầu vòng lặp và tiếp tục tăng theo từng chu kỳ. Vòng lặp tiếp tục chạy khi
1
2
3
19 nhỏ hơn
1
2
3
12. Khối mã in ra giá trị mới của iterator mỗi khi nó chạy

Tập tin. vòng 1. py

_______71

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
2____73

Trong ví dụ tiếp theo, vòng lặp khởi tạo

1
2
3
19 đến
1
2
3
04 và thêm
1
2
3
11 đến
1
2
3
19 mỗi vòng lặp, tối đa giới hạn trên là
1
2
3
26. Khi
1
2
3
19 là
1
2
3
12, vòng lặp thực hiện lại. Khi nó tăng lên đến
1
2
3
26, nó không còn nhỏ hơn giá trị
1
2
3
5, do đó vòng lặp kết thúc. Kiểm soát chuyển đến câu lệnh tiếp theo bên ngoài vòng lặp

Tập tin. vòng lặp2. py

1
2
3
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]

1
2
3
9
1
2
3
7

Giá trị âm có thể được sử dụng cho

1
2
3
79 hoặc
1
2
3
5 điểm và cho
1
2
3
70. Khi bước này là số âm, Python sẽ xác minh xem trình vòng lặp có còn lớn hơn giá trị
1
2
3
5 hay không. Ví dụ sau giảm iterator đi _______ 035 mỗi khi vòng lặp bắt đầu

Tập tin. vòng3. py

1
2
3
1
2
3
0

1
2
3
1
1
2
3
2

Vòng lặp

1
2
3
3 cũng có thể có câu lệnh
1
2
3
37, mặc dù nó không được sử dụng quá thường xuyên. Mã được liên kết với câu lệnh
1
2
3
37 chạy sau khi vòng lặp kết thúc. Nó có thể được sử dụng để xử lý sau vòng lặp hoặc cho các tình huống khi vòng lặp hoàn toàn không chạy

Tập tin. loop_else. py

1
2
3
3____04

1
2
3
5
1
2
3
6
Ghi chú

Iterator tiếp tục thực hiện khi vòng lặp kết thúc. Nhưng việc sử dụng nó bên ngoài vòng lặp không được coi là thực hành lập trình tốt. Hành vi này có thể khác nhau giữa các phiên bản và bản phát hành khác nhau của Python

Sử dụng Python cho vòng lặp với các kiểu dữ liệu tuần tự

Vòng lặp Python

1
2
3
3 cũng có thể được sử dụng với các cấu trúc dữ liệu tuần tự như Chuỗi, Danh sách, Bộ dữ liệu và Từ điển. Trong những trường hợp này, độ dài của cấu trúc dữ liệu xác định phạm vi của chuỗi. Vòng lặp tiếp tục lặp khi có nhiều mục hơn. Ví dụ: nếu vòng lặp
1
2
3
3 sử dụng danh sách chứa năm mục, vòng lặp sẽ lặp lại năm lần. Mỗi mục trong cấu trúc dữ liệu được gán lần lượt cho iterator

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

1
2
3
3 với kiểu dữ liệu tuần tự, cú pháp sẽ thay đổi một chút. Hàm
1
2
3
7 không còn được sử dụng, nhưng cấu trúc vẫn giống như vậy

1
2
3
7

Cách lặp qua một danh sách trong Python

Python sử dụng hàm

1
2
3
43 tích hợp sẵn của Danh sách để duyệt qua Danh sách. Mỗi vòng lặp mới gán mục tiếp theo trong Danh sách cho biến lặp. Vòng lặp
1
2
3
3 được đảm bảo lặp qua tất cả các mục trong Danh sách theo thứ tự tuần tự. Nó tiếp tục lặp lại miễn là Danh sách chứa nhiều mục hơn

Ví dụ sau minh họa cách sử dụng câu lệnh Python

1
2
3
3 để lặp qua Danh sách. Trong trường hợp này, chương trình định nghĩa một Danh sách có tên là
1
2
3
46. Dòng
1
2
3
47 lặp qua Danh sách
1
2
3
46. Khi bắt đầu mỗi vòng lặp, nó chỉ định mục tiếp theo trong Danh sách cho
1
2
3
49. Trên mỗi vòng lặp mới,
1
2
3
49 chứa tên của thành phố tiếp theo. Trong khối mã, mỗi thành phố được in trên một dòng mới

Tập tin. loop_list. py

1
2
3
8
1
2
3
9

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
10
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
11

Cách lặp qua từ điển trong Python

Python có thể lặp qua một từ điển giống như cách nó lặp qua Danh sách. Tuy nhiên, cấu trúc của một từ điển phức tạp hơn. Một từ điển ánh xạ các khóa thành các giá trị. Mỗi mục từ điển là một cặp khóa-giá trị sử dụng khóa làm chỉ mục của nó. Để hợp lệ, một khóa phải tương đương với các khóa khác và không thể thay đổi. Tuy nhiên, một giá trị có thể thuộc bất kỳ loại Python nào và các loại có thể được trộn lẫn trong cùng một từ điển. Giá trị cũng có thể là kiểu dữ liệu tuần tự, chẳng hạn như Danh sách hoặc Tuple hoặc thậm chí là một Từ điển khác

Bắt đầu với bản phát hành 3. 6, Python lặp lại các khóa từ điển theo cùng thứ tự các mục được tạo. Vòng lặp

1
2
3
3 cung cấp tên của khóa tiếp theo, không phải giá trị. Tuy nhiên, giá trị có thể được truy cập bằng cách sử dụng toán tử lập chỉ mục
1
2
3
52. Để sử dụng toán tử lập chỉ mục, hãy chỉ định tên của từ điển và nối thêm toán tử lập chỉ mục, đặt tên của khóa bên trong. Cú pháp của thao tác này là
1
2
3
53. Ví dụ: nếu từ điển có tên
1
2
3
54 chứa khóa có tên
1
2
3
55, thì giá trị liên quan của
1
2
3
55 được truy xuất bằng cách sử dụng
1
2
3
57

Ghi chú

Các phiên bản trước của Python thường sắp xếp các mục từ điển khác nhau

Tệp

1
2
3
58 trình bày cách lặp qua Từ điển có tên
1
2
3
54. Trong Từ điển này, khóa là tên của thành phố trong khi giá trị là tên của tiểu bang. Cụ thể hơn,
1
2
3
49 chứa tên của thành phố và
1
2
3
61 chứa tên của tiểu bang tương ứng. Khối mã in cả hai biến. Bởi vì Từ điển chứa bốn mục, vòng lặp
1
2
3
3 lặp lại bốn lần

Tập tin. loop_dict. py

1
2
3
8
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
13

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
14
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
15

Mọi Từ điển Python đều có một phương thức tích hợp có tên là

1
2
3
63. Để sử dụng phương thức
1
2
3
63, hãy nối thêm một danh sách đối số trống
1
2
3
65. Hàm này cung cấp một đối tượng dạng xem chứa tất cả các giá trị từ Từ điển mà không có các khóa tương ứng. Phương pháp này hữu ích khi một chương trình không yêu cầu các khóa, chỉ các giá trị Từ điển. Mặc dù một đối tượng khung nhìn không thực sự là một Danh sách, một vòng lặp
1
2
3
3 có thể xử lý nó theo cách tương tự. Vòng lặp
1
2
3
3 lặp qua chế độ xem, cung cấp giá trị tiếp theo trong chế độ xem mỗi khi vòng lặp chạy

Ghi chú

Đối tượng dạng xem là động vì nó thay đổi khi đối tượng bên dưới thay đổi. Tuy nhiên, có thể truyền đối tượng dạng xem vào Danh sách không động

Ví dụ sau lặp qua các giá trị Từ điển. Vòng lặp truy xuất từng mục tiếp theo trong

1
2
3
68. Sau đó, nó in giá trị, là tên của trạng thái. Khóa không bao giờ được truy xuất hoặc sử dụng và toán tử lập chỉ mục không bắt buộc. Trong trường hợp này, vòng lặp lặp qua một đối tượng dạng xem của các giá trị Từ điển, chứ không phải chính Từ điển

Tập tin. loop2_dict. py

1
2
3
8
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
17

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
18
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
19
Ghi chú

Ngoài ra còn có một phương thức

1
2
3
69 tương ứng để tạo một đối tượng xem chứa các khóa của Từ điển. Sử dụng chế độ xem này gần giống như sử dụng phương thức mặc định để lặp qua Từ điển. Các giá trị Từ điển vẫn được truy cập bằng cách sử dụng toán tử lập chỉ mục

Phương thức

1
2
3
70 tích hợp tạo ra một đối tượng dạng xem chứa tất cả các cặp khóa-giá trị từ từ điển Python. Mỗi cặp là một đối tượng tuple. Các giá trị trong một bộ có thể được phân tách bằng kỹ thuật gọi là giải nén bộ. Để giải nén một bộ, hãy gán bộ đó cho một chuỗi các biến, được phân tách bằng dấu phẩy. Số lượng biến phải khớp với số lượng phần tử trong bộ dữ liệu. Để gán các giá trị của bộ hai mục
1
2
3
71 cho các biến
1
2
3
72 và
1
2
3
73, hãy sử dụng câu lệnh
1
2
3
74. Điều này gán giá trị đầu tiên trong
1
2
3
71 cho
1
2
3
72 và giá trị thứ hai cho
1
2
3
73

Ghi chú

Tuple là một tập hợp bất biến của các đối tượng được phân tách bằng dấu phẩy. Để tìm hiểu thêm về các bộ dữ liệu Python, hãy xem phần

Một vòng lặp

1
2
3
3 có thể được ghép nối với phương thức
1
2
3
79 để lặp qua tất cả các cặp khóa-giá trị trong từ điển Python. Sau mỗi lần lặp qua đối tượng khung nhìn, bộ giá trị khóa tiếp theo được trích xuất và giải nén thành các biến vòng lặp. Ví dụ sau gán khóa và giá trị từ
1
2
3
54 cho biến
1
2
3
49 và
1
2
3
82. Khi phương thức này được sử dụng, toán tử lập chỉ mục không còn cần thiết để truy cập giá trị

Tập tin. loop3_dict. py

1
2
3
8
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
21

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
22
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
23

Các phương thức từ điển Python tích hợp, như

1
2
3
83 có thể được sử dụng để lặp qua từ điển Python một cách hiệu quả. Để tìm hiểu về các phương thức từ điển tích hợp này, hãy xem hướng dẫn của chúng tôi Cách sử dụng từ điển trong Python 3

Cách ngắt hoặc thoát khỏi vòng lặp For trong Python

Câu lệnh Python

1
2
3
9 ngay lập tức thoát ra khỏi vòng lặp
1
2
3
3 trong cùng. Nó thường được sử dụng để xử lý các điều kiện hoặc lỗi không mong muốn. Ví dụ, một vòng lặp có thể đọc dữ liệu từ một tệp và ghi nó vào cơ sở dữ liệu. Nếu cơ sở dữ liệu đột nhiên không thể truy cập được, một câu lệnh
1
2
3
9 có thể ngay lập tức kết thúc vòng lặp. Nếu không, chương trình sẽ liên tục hết thời gian. Tốt hơn là đưa ra phản hồi nhanh chóng rằng có gì đó không hoạt động

Trong tệp ví dụ

1
2
3
87, câu lệnh
1
2
3
9 kết thúc vòng lặp khi giai thừa của bộ lặp vượt quá
1
2
3
89. Dựa trên các giá trị
1
2
3
79 và
1
2
3
5, dự kiến ​​chương trình sẽ lặp qua khối mã năm lần. Tuy nhiên, nó dừng sau ba chu kỳ vì giai thừa của
1
2
3
26 lớn hơn giá trị bảo vệ của
1
2
3
89

Ghi chú

Chương trình này nhập mô-đun Python

1
2
3
94 tích hợp sẵn và sử dụng hàm
1
2
3
95 của mô-đun

Tập tin. loop_break. py

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
24
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
25

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
26
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
27

Vòng lặp trong khi Python

Vòng lặp Python

1
2
3
4 tương tự như vòng lặp
1
2
3
3, nhưng nó được sử dụng trong các trường hợp hơi khác một chút. Nó hoạt động tốt nhất trong các tình huống không biết số lần lặp khi chương trình bắt đầu lặp lần đầu. Một ví dụ điển hình là trò chơi đoán. Trò chơi kết thúc khi người chơi đoán đúng số. Vì vậy, vòng lặp tiếp tục chạy cho đến khi chọn đúng số

Giống như vòng lặp Python

1
2
3
3, câu lệnh Python
1
2
3
4 được cấu trúc như một câu lệnh ghép. Nó cũng chứa một tiêu đề và một khối mã liên quan. Khối mã này được thực thi mỗi khi vòng lặp lặp lại. Toàn bộ khối mã phải được thụt vào, vì vậy dòng không thụt đầu tiên biểu thị phần cuối của khối. Dấu đầu dòng phải là bốn khoảng trắng

Tiêu đề cho câu lệnh

1
2
3
4 có phần đơn giản hơn tiêu đề vòng lặp
1
2
3
3. Nó chứa các mục sau

  1. Từ khóa
    1
    2
    3
    
    4
  2. Biểu thức điều kiện, phải đánh giá thành giá trị Boolean là
    for i in range[1,7,2]:
        print["The value of i is", i]
    print["The loop has ended."]
    3 hoặc
    for i in range[1,7,2]:
        print["The value of i is", i]
    print["The loop has ended."]
    4. Nếu biểu thức là
    for i in range[1,7,2]:
        print["The value of i is", i]
    print["The loop has ended."]
    3, Python sẽ thực thi khối mã tương ứng
  3. Ký hiệu
    1
    2
    3
    
    95, kết thúc tiêu đề và giới thiệu khối mã

Vòng lặp

1
2
3
4 không có trình vòng lặp hoặc phạm vi và không gán bất kỳ biến nào. Nó không tự xử lý cấu trúc dữ liệu tuần tự. Nó có thể được coi là một tuyên bố “không xác định”
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
108. Sau mỗi lần lặp, Python đánh giá biểu thức Boolean. Nếu là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, khối mã được thực thi. Nếu là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4, vòng lặp
1
2
3
4 kết thúc và luồng điều khiển chuyển sang dòng không thụt vào đầu tiên sau khối mã của nó. Biểu thức điều kiện có thể sử dụng bất kỳ toán tử logic hoặc so sánh nào của Python, bao gồm
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
112,
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
113 hoặc
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
114. Nếu biểu thức là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 lần đầu tiên thông qua vòng lặp
1
2
3
4, vòng lặp sẽ không bao giờ chạy

Chừng nào mà biểu thức Boolean vẫn còn

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, thì câu lệnh
1
2
3
4 vẫn tiếp tục lặp. Để tránh một vòng lặp vô hạn, một trong hai sự kiện phải xảy ra. Cuối cùng, biểu thức điều kiện phải được đánh giá là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 hoặc phải sử dụng câu lệnh
1
2
3
9 bên trong khối mã. Để biểu thức thay đổi, khối mã phải thay đổi một trong các giá trị được sử dụng trong biểu thức

Ghi chú

Để buộc thoát ra khỏi vòng lặp vô hạn trong chương trình Python, hãy nhập

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
121. Điều này chỉ hoạt động khi chạy ở chế độ tương tác hoặc chạy chương trình Python từ dòng lệnh

Cú pháp của vòng lặp

1
2
3
4 có cấu trúc như sau

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
28

Trong ví dụ này, câu lệnh

1
2
3
4 được sử dụng để xác thực mật khẩu. Chương trình xác định
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
124 và sau đó truy vấn người dùng về mật khẩu của họ. Đầu vào của người dùng được gán cho
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
125. Nếu
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
126 vòng lặp tiếp tục chạy. Nếu người dùng không nhớ mật khẩu của họ, họ có thể bị mắc kẹt trong một vòng lặp vô tận. Do đó, nên thêm bộ đếm bảo vệ vào vòng lặp
1
2
3
4

Câu lệnh

1
2
3
4 sau đây tiếp tục lặp lại trong khi mật khẩu sai và người dùng đã thực hiện ít hơn mười lần thử để đoán nó. Trong vòng lặp, chương trình tăng bộ đếm và nhắc người dùng đoán mật khẩu. Nếu
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
125 bằng với
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
124, chương trình sẽ thông báo cho người dùng rằng họ đúng. Luồng điều khiển chương trình quay trở lại điểm bắt đầu của vòng lặp để xem liệu khối có nên chạy lại không. Tuy nhiên, lần này
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
126 là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4 và vòng lặp kết thúc

Tập tin. trong khi. py

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
29
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
30

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
31
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
32

Nếu người dùng không bao giờ đoán được mật khẩu trong năm lần thử, chương trình sẽ kết thúc một cách êm đẹp

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
33

Cách ngắt hoặc thoát khỏi vòng lặp While trong Python

Câu lệnh

1
2
3
9 được sử dụng thường xuyên hơn bên trong vòng lặp
1
2
3
4 so với vòng lặp
1
2
3
3. Câu lệnh
1
2
3
9 có thể được sử dụng khi một ký tự đặc biệt hoặc một chuỗi điều khiển có thể kết thúc một vòng lặp. Thay vì đặt cờ và sau đó xác định xem cờ có được đặt trong điều kiện
1
2
3
4 hay không, việc thoát khỏi vòng lặp ngay lập tức sẽ dễ dàng hơn

Python cũng hỗ trợ vòng lặp

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
138. Cấu trúc này hoạt động giống như câu lệnh
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
139. Mệnh đề
1
2
3
37 được thực thi nếu điều kiện của câu lệnh
1
2
3
4 là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4. Điều này được sử dụng cho các tác vụ xử lý hậu kỳ hoặc dọn dẹp khi đạt đến điều kiện tiên quyết. Ví dụ: nó có thể được sử dụng cho thông báo tạm biệt khi người dùng nhập một trình tự nhất định. Nó cũng thường được sử dụng khi phản hồi tích cực phá vỡ vòng lặp. Trong trường hợp này, câu lệnh
1
2
3
37 chỉ thực hiện khi nỗ lực không thành công

Việc sử dụng câu lệnh

1
2
3
9 và chỉ thị
1
2
3
37 làm cho chương trình trước đó hiệu quả hơn. Chương trình đã so sánh
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
124 và
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
125 khi quyết định có hiển thị thông báo thành công hay không. Do đó, một câu lệnh
1
2
3
9 có thể được thêm ngay sau thông báo, làm cho vòng lặp kết thúc ngay lập tức. So sánh không cần thiết khi bắt đầu vòng lặp tiếp theo không phải được thực hiện

Ngoài ra, biểu thức điều kiện có thể được đơn giản hóa. Nó chỉ phải so sánh

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
149 với giá trị bảo vệ. Chương trình không phải so sánh
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
125 với
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
124 vì nó biết hai giá trị khác nhau. Nếu người dùng đã đoán đúng, làm cho
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
125 và
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
124 giống nhau, thì câu lệnh
1
2
3
9 sẽ được sử dụng. Do đó,
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
126 đã được biết đến là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3 và không cần phải đánh giá lại. Lần duy nhất khi điều kiện không thành công là khi số lần đoán tối đa đã được thực hiện. Điều này có nghĩa là người dùng chưa bao giờ nhập mật khẩu, vì vậy mệnh đề
1
2
3
37 có thể tự tin hiển thị thông báo lỗi

Tập tin. while_break. py

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
34
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
35

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
36
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
37

Nếu người dùng không đoán đúng, báo lỗi sẽ được in

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
38

Vòng lặp “do while” trong Python

Không giống như vòng lặp

1
2
3
4, vòng lặp
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
159 đánh giá biểu thức điều kiện ở cuối vòng lặp. Do đó, nó luôn thực thi khối mã ít nhất một lần. Nếu biểu thức ước tính là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, vòng lặp sẽ chạy lại

Python không hỗ trợ cấu trúc vòng lặp

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
159 mặc dù nó có sẵn trong nhiều ngôn ngữ khác. Tuy nhiên, logic tương đương có thể được triển khai trong Python bằng cách sử dụng câu lệnh
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
162 cùng với một hoặc nhiều câu lệnh
1
2
3
9. Biểu thức
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3 luôn là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3 để vòng lặp được đảm bảo chạy một lần. Trên thực tế, nó chạy cho đến khi gặp câu lệnh
1
2
3
9 trong vòng lặp. Một câu lệnh
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
108 bên trong vòng lặp được sử dụng để xác định thời điểm thoát ra khỏi vòng lặp. Khối mã phải chứa câu lệnh
1
2
3
9 để kết thúc vòng lặp. Mặt khác, một vòng lặp vô hạn được hình thành

Đây là một phác thảo cơ bản chứng minh cách một vòng lặp

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
159 có thể được triển khai trong Python. Ví dụ này thoát ra khỏi vòng lặp ở chu kỳ thứ mười

Tập tin. làm trong khi. py

for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
39
1
2
3
0

1
2
3
1
1
2
3
2

Tóm tắt các vòng lặp for và while của Python

Hai câu lệnh Python được sử dụng để tạo vòng lặp. Câu lệnh Python

1
2
3
3 lặp lại trong một số lần cố định. Ngược lại, câu lệnh
1
2
3
4 tiếp tục chạy miễn là biểu thức điều kiện được thỏa mãn. Cả hai câu lệnh đều cung cấp một khối mã chạy mỗi khi vòng lặp lặp lại

Câu lệnh

1
2
3
3 thường được sử dụng với chỉ báo
1
2
3
7 xác định điểm bắt đầu và điểm kết thúc của chuỗi vòng lặp. Phạm vi xác định số lần vòng lặp lặp lại. Tuy nhiên, vòng lặp
1
2
3
3 cũng được sử dụng để lặp qua các cấu trúc dữ liệu tuần tự, bao gồm Danh sách và Từ điển. Khi bắt đầu mỗi vòng lặp, mục tiếp theo trong cấu trúc hoặc giá trị tiếp theo trong chuỗi được gán cho trình vòng lặp

Một biểu thức điều kiện ràng buộc câu lệnh Python

1
2
3
4. Nếu biểu thức ước tính là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
3, Python sẽ chạy khối mã tương ứng. Nếu là
for i in range[1,7,2]:
    print["The value of i is", i]
print["The loop has ended."]
4, vòng lặp kết thúc. Trừ khi biểu thức có thể thay đổi dựa trên các bản cập nhật trong khối mã, nếu không thì có thể bị mắc kẹt trong một vòng lặp vô hạn

Cả hai câu lệnh

1
2
3
3 và
1
2
3
4 đều có thể được ghép nối với một lệnh
1
2
3
37 chỉ thực thi khi vòng lặp kết thúc. Ngoài ra, câu lệnh Python
1
2
3
9 trong khối mã có thể được sử dụng để buộc thoát ra khỏi vòng lặp. Kỹ thuật này rất hữu ích để xử lý các tình trạng lỗi không mong muốn. Để biết thêm thông tin về các câu lệnh
1
2
3
3 và
1
2
3
4 của Python, hãy tham khảo tài liệu Python

Thêm thông tin

Bạn có thể muốn tham khảo các tài nguyên sau để biết thêm thông tin về chủ đề này. Mặc dù chúng được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài

Chúng ta có thể sử dụng vòng lặp for và while cùng nhau không?

Vấn đề ở đây là bạn đang trộn vòng lặp for với vòng lặp while một cách không cần thiết ; . Vòng lặp for thực hiện tất cả công việc và khi hoàn thành công việc, trả về giá trị. Khi đạt được trở lại, chức năng kết thúc. Quyền kiểm soát không bao giờ được chuyển lại cho while.

Bạn có thể đặt vòng lặp while trong vòng lặp for Python không?

Các vòng lặp lồng nhau trong Python . Hoặc bạn có thể đặt một vòng lặp bên trong một vòng lặp bên trong một vòng lặp. Bạn có thể đi xa như bạn muốn. You can put a for loop inside a while, or a while inside a for, or a for inside a for, or a while inside a while. Or you can put a loop inside a loop inside a loop. You can go as far as you want.

Bạn có thể đặt vòng lặp for trong vòng lặp while không?

Không bắt buộc phải lồng cùng loại vòng lặp. Chúng ta có thể đặt vòng lặp for bên trong vòng lặp while hoặc vòng lặp do-while bên trong vòng lặp for.

Bạn có thể có 2 vòng lặp for trong Python không?

Vòng lặp lồng nhau . Đầu tiên chương trình gặp vòng lặp bên ngoài, thực hiện lần lặp đầu tiên của nó. Lần lặp đầu tiên này kích hoạt vòng lặp lồng nhau bên trong, vòng lặp này sẽ chạy cho đến khi hoàn thành. Loops can be nested in Python, as they can with other programming languages. The program first encounters the outer loop, executing its first iteration. This first iteration triggers the inner, nested loop, which then runs to completion.

Chủ Đề