Nói chung, các câu lệnh được thực hiện tuần tự − Câu lệnh đầu tiên trong một hàm được thực thi trước, tiếp theo là câu lệnh thứ hai, v.v. Có thể xảy ra tình huống khi bạn cần thực thi một khối mã nhiều lần
Các ngôn ngữ lập trình cung cấp các cấu trúc điều khiển khác nhau cho phép các đường dẫn thực thi phức tạp hơn
Câu lệnh lặp cho phép chúng ta thực hiện một câu lệnh hoặc một nhóm câu lệnh nhiều lần. Sơ đồ sau minh họa một câu lệnh vòng lặp -
Ngôn ngữ lập trình Python cung cấp các loại vòng lặp sau để xử lý các yêu cầu về vòng lặp
Sr. Không. Loại vòng lặp & Mô tả Vòng lặp 1whileLặp lại một câu lệnh hoặc một nhóm câu lệnh trong khi một điều kiện đã cho là TRUE. Nó kiểm tra điều kiện trước khi thực hiện thân vòng lặp
vòng lặp 2forThực hiện một chuỗi các câu lệnh nhiều lần và viết tắt mã quản lý biến vòng lặp
3 vòng lặp lồng nhauBạn có thể sử dụng một hoặc nhiều vòng lặp bên trong bất kỳ vòng lặp while hoặc for nào khác
Câu lệnh điều khiển vòng lặp
Các câu lệnh điều khiển Vòng lặp thay đổi quá trình thực thi so với trình tự bình thường của nó. Khi thực thi rời khỏi một phạm vi, tất cả các đối tượng tự động được tạo trong phạm vi đó sẽ bị hủy
Python hỗ trợ các câu lệnh điều khiển sau
Sr. Không. Câu lệnh điều khiển và Mô tả 1 Câu lệnh ngắtKết thúc câu lệnh vòng lặp và chuyển thực thi sang câu lệnh ngay sau vòng lặp
2 tuyên bố tiếp tụcLàm cho vòng lặp bỏ qua phần còn lại của phần thân và ngay lập tức kiểm tra lại tình trạng của nó trước khi lặp lại
câu lệnh 3passCâu lệnh pass trong Python được sử dụng khi một câu lệnh được yêu cầu về mặt cú pháp nhưng bạn không muốn bất kỳ lệnh hoặc mã nào thực thi
Chúng ta hãy xem qua các câu lệnh điều khiển vòng lặp một cách ngắn gọn
Iterator và Generator
Iterator là một đối tượng cho phép lập trình viên duyệt qua tất cả các phần tử của một bộ sưu tập, bất kể cách triển khai cụ thể của nó. Trong Python, một đối tượng iterator cài đặt hai phương thức, iter[] và next[]
Các đối tượng Chuỗi, Danh sách hoặc Tuple có thể được sử dụng để tạo Iterator
#!/usr/bin/python3 import sys list = [1,2,3,4] it = iter[list] # this builds an iterator object print [next[it]] #prints next available element in iterator #Iterator object can be traversed using regular for statement for x in it: print [x, end=" "] #or using next[] function while True: try: print [next[it]] except StopIteration: sys.exit[]
Trình tạo là một hàm tạo hoặc tạo ra một chuỗi các giá trị bằng phương thức năng suất
Khi một hàm trình tạo được gọi, nó sẽ trả về một đối tượng trình tạo mà không cần bắt đầu thực thi hàm. Khi phương thức next[] được gọi lần đầu tiên, hàm sẽ bắt đầu thực thi cho đến khi gặp câu lệnh năng suất, câu lệnh này sẽ trả về giá trị năng suất. Sản lượng theo dõi tôi. e. ghi nhớ lần thực hiện cuối cùng và lệnh gọi next[] thứ hai tiếp tục từ giá trị trước đó
Thí dụ
Ví dụ sau định nghĩa một trình tạo, tạo một trình vòng lặp cho tất cả các số Fibonacci
Câu lệnh for trong Python có khả năng lặp qua các mục của bất kỳ chuỗi nào, chẳng hạn như danh sách hoặc chuỗi
cú pháp
for iterating_var in sequence: statements[s]
Nếu một chuỗi chứa danh sách biểu thức, nó sẽ được đánh giá trước. Sau đó, mục đầu tiên trong chuỗi được gán cho biến lặp itrating_var. Tiếp theo, khối câu lệnh được thực thi. Mỗi mục trong danh sách được gán cho itrating_var và [các] khối câu lệnh được thực thi cho đến khi toàn bộ chuỗi hết
sơ đồ dòng chảy
Hàm phạm vi []
Hàm tích hợp range[] là hàm phù hợp để lặp qua một dãy số. Nó tạo ra một trình vòng lặp của cấp số cộng
Thí dụ
>>> range[5] range[0, 5] >>> list[range[5]] [0, 1, 2, 3, 4]
Thí dụ
phạm vi [] tạo một trình vòng lặp để tiến hành các số nguyên bắt đầu bằng 0 cho đến n-1. Để có được một đối tượng danh sách của chuỗi, nó được đánh máy thành list[]. Bây giờ danh sách này có thể được lặp lại bằng cách sử dụng câu lệnh for
>>> for var in list[range[5]]: print [var]
đầu ra
Điều này sẽ tạo ra đầu ra sau
0 1 2 3 4
Thí dụ
#!/usr/bin/python3 for letter in 'Python': # traversal of a string sequence print ['Current Letter :', letter] print[] fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # traversal of List sequence print ['Current fruit :', fruit] print ["Good bye!"]
đầu ra
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango Good bye!
Lặp lại theo chỉ mục trình tự
Một cách khác để lặp qua từng mục là bù chỉ số vào chính chuỗi đó. Sau đây là một ví dụ đơn giản -
Thí dụ
#!/usr/bin/python3 fruits = ['banana', 'apple', 'mango'] for index in range[len[fruits]]: print ['Current fruit :', fruits[index]] print ["Good bye!"]
đầu ra
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -
________số 8Ở đây, chúng tôi đã sử dụng sự hỗ trợ của hàm tích hợp len[], cung cấp tổng số phần tử trong bộ cũng như hàm tích hợp range[] để cung cấp cho chúng tôi chuỗi thực tế để lặp lại
Sử dụng Tuyên bố khác với Vòng lặp
Python hỗ trợ có một câu lệnh khác được liên kết với một câu lệnh vòng lặp
Nếu câu lệnh other được sử dụng với vòng lặp for, thì khối lệnh khác chỉ được thực thi nếu vòng lặp for kết thúc bình thường [chứ không phải do gặp phải câu lệnh break]
Nếu câu lệnh khác được sử dụng với vòng lặp while, câu lệnh khác được thực thi khi điều kiện trở thành sai
Thí dụ
Ví dụ sau minh họa sự kết hợp của câu lệnh other với câu lệnh for tìm kiếm số chẵn trong danh sách đã cho