Hướng dẫn what is iteration control structure in python? - cấu trúc điều khiển lặp trong python là gì?
Show
Nội dung
Giới thiệuCó hai cấu trúc lặp chính trong Python: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 vòng lặp và vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7. Một vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 được kiểm soát bởi một số biểu thức logic được đánh giá trước khi quyết định có nên chạy mã mà nó kiểm soát hay không. Nếu biểu thức là đúng, vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 sẽ chạy mã mà nó kiểm soát và một khi mã đó được thực hiện thực hiện, nó sẽ đánh giá lại biểu thức logic. Vòng lặp sẽ tiếp tục chạy cho đến khi biểu thức logic là sai tại thời điểm nó được đánh giá. Mặt khác, vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 có một biến quét qua các mục trong một số mục có thể lặp lại (ví dụ như một danh sách, tuple, mảng, phạm vi, bản đồ, chuỗi, từ điển). Biến có giá trị 0 được lập chỉ mục của mục và chạy mã mà nó kiểm soát; Khi mã đó được thực hiện, nó sẽ lấy mục tiếp theo từ chuỗi. Vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 sẽ chạy nhiều lần như có các mục trong chuỗi. Trong cả hai vòng x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 và x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6, có hai lệnh sẽ thay đổi hành vi của vòng lặp một chút. Nếu bạn phát hành lệnh x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break4, vòng lặp sẽ ngay lập tức bỏ qua kết thúc của chính nó như thể khối mã đã kết thúc. Một vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 sau đó sẽ đánh giá lại biểu thức logic và chạy lại mã của nó nếu biểu thức vẫn còn đúng; Một vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 sẽ lấy mục tiếp theo từ chuỗi nếu có trên. Lệnh khác thay đổi cách một vòng lặp hành xử là x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break7; Nếu một vòng lặp chạy lệnh x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break7, nó sẽ bỏ qua vòng lặp ngay lập tức. Ví dụx = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: ')) 6 vòng lặpHãy tưởng tượng bạn muốn người dùng nhập một số từ 0 đến 10 bao gồm; Trong trường hợp họ hiểu sai, bạn muốn họ thử lại. Bạn có thể bắt đầu mã của mình bằng cách nhận đầu vào từ người dùng: x = input('Number in range [0, 10]: ') Nếu bạn chạy mã này, bạn sẽ nhận ra rằng lệnh for k in [3, 1, 4, 1, 5]: print(k, end=' ')0 của Python sẽ hiển thị bất cứ thứ gì bạn cung cấp cho nó dưới dạng chuỗi. Để khắc phục điều đó, bạn có thể bảo Python xem lại nó dưới dạng for k in [3, 1, 4, 1, 5]: print(k, end=' ')1: x = float(input('Number in range [0, 10]: ')) Điều này hoạt động, nhưng nó không kiểm tra để xem người dùng có thực sự nhập loại số cũng như không kiểm tra xem giá trị có ở đúng phạm vi không. Bởi vì bạn sẽ muốn người dùng tiếp tục nhập các giá trị cho đến khi một cái gì đó hợp lệ được nhập, bạn sẽ sử dụng vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 để đánh giá câu trả lời và, nếu giá trị xấu, hãy lấy một giá trị khác: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: ')) Điều này bây giờ thực hiện chính xác những gì bạn muốn nó làm, miễn là người dùng đã đưa ra một đầu vào có thể được hiển thị dưới dạng phao. Nếu người dùng nhập một ký tự không phải là số, Python sẽ gây ra lỗi. Nếu bạn muốn đối phó với tình huống đó, bạn sẽ cần kiểm tra những gì người dùng đưa ra làm đầu vào trước khi cố gắng biến nó thành một chiếc phao. Điều này rất phức tạp bởi thực tế là Python hiện không có cách tuyệt vời để kiểm tra xem nội dung của chuỗi có thể đại diện cho một chiếc phao. Cho rằng, có thể dễ dàng sử dụng cấu trúc for k in [3, 1, 4, 1, 5]: print(k, end=' ')3 của Python và sau đó bắt và hiển thị mọi trường hợp ngoại lệ. Dưới đây là một ví dụ tận dụng lợi thế của for k in [3, 1, 4, 1, 5]: print(k, end=' ')3, x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break4 và x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break7 để trước tiên xem chuỗi được nhập có thể biến thành một chiếc phao hay không, nếu nó có thể, nếu phao đó nằm trong phạm vi thích hợp: x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break Lưu ý việc sử dụng for k in [3, 1, 4, 1, 5]: print(k, end=' ')7 ở đây; Vòng lặp này sẽ tự mình chạy vô thời hạn - điều duy nhất khiến nó dừng lại là nếu x = input('Number in range [0, 10]: ') while True: try: x = float(x) except Exception as oops: print(oops) print('"{}" contains invalid characters'.format(x)) x = input('Number in range [0, 10]: ') continue if x < 0 or x > 10: x = input('Incorrect value - number in range [0, 10]: ') else: break7 xảy ra. Nếu bạn muốn xem việc thực thi mã ở trên trên Pythontutor, bấm vào đây. x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: ')) 7 vòng lặpCác mã sau đây sẽ chứng minh các cách khác nhau để quét qua các mục của một điều khác nhau: Quét qua một danh sách (hoặc tuple hoặc mảng)for k in [3, 1, 4, 1, 5]: print(k, end=' ') Quét qua một chuỗifor k in 'Hello!': print(k) Quét qua một phạm vi (hoặc bản đồ)for k in range(3, 7): print(k, end=' ') Quét qua một từ điểnGiả sử mã sau đã chạy để tạo từ điển for k in 'Hello!': print(k)0: d = {} d[4]='hello' d['Duke']=1.234 d[(20,19)] = [20, 23] sao cho for k in 'Hello!': print(k)0 bây giờ là: {4: 'hello', 'Duke': 1.234, (20, 19): [20, 23]} Có bốn cách để quét qua nó: for k in d.values(): print(k)
Output: Xin chào 1.234 [20, 23] x = float(input('Number in range [0, 10]: '))0 Output: (4, 'Xin chào') ('Duke', 1.234) ((20, 19), [20, 23]) x = float(input('Number in range [0, 10]: '))1 Output: P: 4, Q: Xin chào P: Duke, Q: 1.234 P: (20, 19), Q: [20, 23] Quét qua một chuỗi các chuỗiNhư đã lưu ý ở trên, vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 có thể lấy từng mục theo một chuỗi và gán nó cho một biến duy nhất hoặc, nếu các mục là chúng tự, hãy giải quyết các mục trong các chuỗi đó cho nhiều biến. Cái sau sẽ chỉ hoạt động nếu số lượng mục trong phần sau giống với số lượng biến hoặc - và đây là siêu lạ mắt - bạn đặt một biến *arg trong vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 của bạn. Dưới đây là một số ví dụ: Một biến quét với một chuỗi các chuỗi tất cả các kích thước nx = float(input('Number in range [0, 10]: '))2 Output: K: [1, 2] K: [3, 'Hi'] K: [(4, 5, 6), [7, 8, 9]]] N Các biến quét với một chuỗi các chuỗi tất cả các kích thước nx = float(input('Number in range [0, 10]: '))3 Output: A: 1; B: 2 A: 3; B: Hi A: (4, 5, 6); B: [7, 8, 9] Một biến quét với chuỗi trình tự tất cả các kích thước khác nhaux = float(input('Number in range [0, 10]: '))4 Output: K: [1] K: [2, 3] K: [4, 5, 6] K: Duke K: [7, 'Egr', 103] Nhiều biến quét bao gồm *arg với chuỗi trình tự tất cả các kích thước khác nhaux = float(input('Number in range [0, 10]: '))5 Đầu ra: A: 1; B: [] A: 2; B: [3] A: 4; B: [5, 6] A: D; B: ['u', 'k', 'e'] a: 7; B: ['Egr', 103] Lưu ý rằng các chuỗi của bạn phải có ít nhất là nhiều mục là số lượng biến quét không được xác định và bạn chỉ có thể có một biến quét được sao chép. Tuy nhiên, nó không phải đến lần cuối:not have to come last, however: x = float(input('Number in range [0, 10]: '))6 Output: A: L; B: ['M1', 'M2']; C: R A: 1; B: []; C: 2 A: 3; B: [4, 5, 6]; C: 7 Đầu tiên, lưu ý rằng mỗi phần sau có ít nhất hai mục. for k in 'Hello!': print(k)4 sẽ lấy cái đầu tiên, for k in 'Hello!': print(k)5 sẽ lấy cái cuối cùng, và sau đó for k in 'Hello!': print(k)6 sẽ chiếm lấy bất cứ điều gì còn lại.last one, and then for k in 'Hello!': print(k)6 will take over whatever remains. Lập chỉ mục các mụcTrong khi sử dụng một vòng lặp, bạn có thể muốn truy cập vào các yếu tố nhất định của các chuỗi trong vòng lặp đó. Để làm điều này, bạn sẽ cần một biến giữ số chỉ mục bạn muốn truy cập. Có ít nhất ba cách khác nhau để tạo biến này: sử dụng chính biến quét vòng lặp như trong chỉ mục, sử dụng for k in 'Hello!': print(k)7Function để tạo bảng chỉ mục và các cặp giá trị hoặc tạo bộ đếm bên ngoài. Biến máy quétNếu bạn có vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 có nghĩa là đi qua một số lần lặp được xác định trước, bạn có thể thiết lập biến vòng lặp để theo dõi những gì bạn đang lặp lại: x = float(input('Number in range [0, 10]: '))7 Chẳng hạn, để có được mười hai giá trị khác nhau từ người dùng, bạn có thể sử dụng mã sau: x = float(input('Number in range [0, 10]: '))8 Điều này sử dụng thực tế là for k in 'Hello!': print(k)9 đảm nhận các giá trị của 0, 1, 2, 3, v.v., sẽ hoạt động như biến chỉ mục của bạn. Danh sách for k in range(3, 7): print(k, end=' ')0 sẽ kết thúc với mười hai giá trị mà người dùng đã cung cấp cho bạn. Tất nhiên, trong Python nếu bạn chỉ đang xây dựng một danh sách, bạn cũng có thể nối mọi thứ vào danh sách mà không phải lo lắng về chỉ mục: x = float(input('Number in range [0, 10]: '))9 Liệt kê có thể lặp lạiNếu bạn lặp đi lặp lại một thứ không thể được sử dụng làm chỉ mục - ví dụ, các ký tự trong chuỗi - bạn có thể sử dụng hàm for k in 'Hello!': print(k)7 để trả về một số ít thay thế cho mỗi mục bằng một bộ có chứa chỉ mục và giá trị của mục. Loại for k in 'Hello!': print(k)7 tương tự như for k in range(3, 7): print(k, end=' ')3 và for k in range(3, 7): print(k, end=' ')4 ở chỗ nó không có cách nào tốt để hiển thị những gì nó thực sự bằng - đối với điều đó, bạn cần phải gọi lại như một danh sách. Ví dụ: giả sử bạn đã chạy mã sau: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))0 sau đó năng suất x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))1 trong khi năng suất: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))2 Bây giờ bạn có thể chạy vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))7 trên kết quả của lệnh for k in 'Hello!': print(k)7; Nếu bạn có hai biến quét, lần thứ nhất sẽ chọn một chỉ mục và loại thứ hai sẽ nhận được giá trị: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))3 năng suất: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))4 Bây giờ bạn có thể chạy vòng lặp x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: ')) 7 trên kết quả của lệnh for k in 'Hello!': print(k) 7; Nếu bạn có hai biến quét, lần thứ nhất sẽ chọn một chỉ mục và loại thứ hai sẽ nhận được giá trị:Nhân tố bên ngoài x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))5 Đôi khi, bạn sẽ không có biến quét dựa trên số nguyên - hoặc bạn có thể không có biến quét nào cả (ví dụ: x = float(input('Number in range [0, 10]: ')) while x < 0 or x > 10: x = float(input('Incorrect value - number in range [0, 10]: '))6 vòng lặp). Đối với những người đó, bạn có thể phải bắt đầu một bộ đếm bên ngoài. Ví dụ: nếu bạn muốn lưu trữ đầu vào nhiệt độ miễn là nhiệt độ được nhập không âm, bạn có thể viết: Vào cuối mã này, for k in range(3, 7): print(k, end=' ') 8 sẽ là một giá trị cho biết có bao nhiêu mục nhập trong danh sách for k in range(3, 7): print(k, end=' ') 0.Câu hỏi Liện kết ngoạiNgười giới thiệuCấu trúc điều khiển lặp Python là gì?Có hai cấu trúc lặp chính trong Python: trong khi các vòng và cho các vòng. A trong khi các vòng lặp được kiểm soát bởi một số biểu thức logic được đánh giá trước khi quyết định có nên chạy mã mà nó kiểm soát hay không.while loops and for loops. A while loops is controlled by some logical expression which is evaluated before deciding whether to run the code it controls.
Cấu trúc điều khiển lặp lại là gì?Cấu trúc lặp thực hiện một chuỗi các câu lệnh liên tục miễn là một điều kiện đúng.Cấu trúc trình tự chỉ đơn giản thực hiện một chuỗi các câu lệnh theo thứ tự chúng xảy ra.executes a sequence of statements repeatedly as long as a condition holds true. The sequence structure simply executes a sequence of statements in the order in which they occur.
3 loại cấu trúc điều khiển trong Python là gì?Python có ba loại cấu trúc điều khiển: Chế độ tuần tự - mặc định.Lựa chọn - Được sử dụng cho các quyết định và phân nhánh.Lặp lại - Được sử dụng để lặp, tức là, lặp lại một đoạn mã nhiều lần.Sequential - default mode. Selection - used for decisions and branching. Repetition - used for looping, i.e., repeating a piece of code multiple times.
Các câu lệnh kiểm soát lặp khác nhau trong Python là gì?Lồng cho vòng lặp .. Lồng nhau trong khi vòng lặp .. Cho vòng lặp trong Python.Đối với vòng lặp trong Python được sử dụng để lặp lại các mục của bất kỳ chuỗi nào, chẳng hạn như danh sách hoặc một chuỗi .. Trong khi vòng lặp trong Python.Trong khi vòng lặp trong Python được sử dụng để thực thi một khối câu lệnh cho đến khi điều kiện đã cho là đúng..... |