Hướng dẫn how do you write a for loop in python with condition? - làm thế nào để bạn viết một vòng lặp for trong python với điều kiện?
4.1. Thực thi có điều kiệnConditional execution¶4.1.1. Tuyên bố if True: # This is always true pass # so this is always executed, but it does nothing else: pass 1The if True: # This is always true pass # so this is always executed, but it does nothing else: pass 1 statement¶Để viết các chương trình hữu ích, chúng tôi hầu như luôn cần khả năng kiểm tra các điều kiện và thay đổi hành vi của chương trình cho phù hợp. Các tuyên bố có điều kiện cho chúng ta khả năng này. Hình thức đơn giản nhất là câu lệnh IF, có dạng Genaral:if statement, which has the genaral form: Show
if BOOLEAN EXPRESSION: STATEMENTS Một vài điều quan trọng cần lưu ý về các câu lệnh if True: # This is always true pass # so this is always executed, but it does nothing else: pass1:
Đây là một ví dụ: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! ')) Biểu thức boolean sau câu lệnh if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 được gọi là điều kiện. Nếu đó là sự thật, thì tất cả các câu lệnh thụt đã được thực thi. Điều gì xảy ra nếu điều kiện là sai và if True: # This is always true pass # so this is always executed, but it does nothing else: pass5 không bằng if True: # This is always true pass # so this is always executed, but it does nothing else: pass6? Trong một tuyên bố if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 đơn giản như thế này, không có gì xảy ra và chương trình tiếp tục đến tuyên bố tiếp theo.condition. If it is true, then all the indented statements get executed. What happens if the condition is false, and if True: # This is always true pass # so this is always executed, but it does nothing else: pass5 is not equal to if True: # This is always true pass # so this is always executed, but it does nothing else: pass6? In a simple if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 statement like this, nothing happens, and the program continues on to the next statement. Chạy mã ví dụ này và xem những gì xảy ra. Sau đó thay đổi giá trị của if True: # This is always true pass # so this is always executed, but it does nothing else: pass5 thành một cái gì đó khác với if True: # This is always true pass # so this is always executed, but it does nothing else: pass6 và chạy lại, xác nhận rằng bạn không nhận được bất kỳ đầu ra nào. Sơ đồ của một câu lệnh ifif statement Như với tuyên bố if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 từ chương cuối, tuyên bố if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 là một tuyên bố ghép. Các câu lệnh ghép bao gồm một đường tiêu đề và một cơ thể. Dòng tiêu đề của câu lệnh if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 bắt đầu bằng từ khóa if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 theo sau là biểu thức boolean và kết thúc bằng dấu hai chấm ( if True: # This is always true pass # so this is always executed, but it does nothing else: pass3).compound statement. Compound statements consist of a header line and a body. The header line of the if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 statement begins with the keyword if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 followed by a boolean expression and ends with a colon ( if True: # This is always true pass # so this is always executed, but it does nothing else: pass3). Các tuyên bố thụt vào sau được gọi là một khối. Tuyên bố chưa được kiểm soát đầu tiên đánh dấu sự kết thúc của khối. Mỗi câu lệnh bên trong khối phải có cùng thụt.block. The first unindented statement marks the end of the block. Each statement inside the block must have the same indentation. Gunsation và Hướng dẫn theo phong cách Pep 8 Python Cộng đồng Python đã phát triển một hướng dẫn phong cách cho mã Python, thường được gọi đơn giản là PEP PEP 8. Các đề xuất nâng cao Python, hoặc PEPS, là một phần của quá trình mà cộng đồng Python sử dụng để thảo luận và áp dụng các thay đổi đối với ngôn ngữ. PEP 8 khuyến nghị sử dụng 4 không gian trên mỗi cấp độ thụt. Chúng tôi sẽ làm theo điều này (và các khuyến nghị PEP 8 khác) trong cuốn sách này. Để giúp chúng tôi học cách viết mã python theo phong cách tốt, có một chương trình có tên PEP8 hoạt động như một trình kiểm tra hướng dẫn kiểu tự động cho mã nguồn Python. if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C5 có thể cài đặt như một gói trên các hệ thống GNU/Linux dựa trên Debian như Ubuntu. Trong phần VIM của Phụ lục, định cấu hình Ubuntu để phát triển web Python, có hướng dẫn cấu hình VIM để chạy if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C5 trên mã nguồn của bạn bằng cách nhấn nút.Vim section of the appendix, Configuring Ubuntu for Python Web Development, there is instruction on configuring vim to run if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C5 on your source code with the push of a button. 4.1.2. Tuyên bố if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 7The if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 7 statement¶Nó thường là trường hợp bạn muốn một điều xảy ra khi một điều kiện đúng và một cái gì đó khác sẽ xảy ra khi nó sai. Vì vậy, chúng tôi có tuyên bố if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C7.something else to happen when it is false. For that we have the if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C7 statement. if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!") Ở đây, câu lệnh in đầu tiên sẽ thực thi nếu if True: # This is always true pass # so this is always executed, but it does nothing else: pass5 bằng if True: # This is always true pass # so this is always executed, but it does nothing else: pass6 và câu lệnh in được thụt vào theo điều khoản if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1 sẽ được thực thi khi không. Sơ đồ của một câu lệnh khácif else statement Cú pháp cho câu lệnh if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C7 trông như thế này: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False Mỗi câu lệnh bên trong khối if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 của câu lệnh if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C7 được thực thi theo thứ tự nếu biểu thức boolean đánh giá thành if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")5. Toàn bộ khối các câu lệnh được bỏ qua nếu biểu thức boolean đánh giá thành if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")6, và thay vào đó tất cả các câu lệnh theo mệnh đề if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1 được thực thi. Không có giới hạn về số lượng câu lệnh có thể xuất hiện theo hai mệnh đề của câu lệnh if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C7, nhưng phải có ít nhất một câu trong mỗi khối. Đôi khi, rất hữu ích khi có một phần không có tuyên bố (thường là người giữ địa điểm, hoặc giàn giáo, cho mã mà bạn đã viết). Trong trường hợp đó, bạn có thể sử dụng câu lệnh if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")9, không có gì ngoại trừ hoạt động như một người giữ chỗ. if True: # This is always true pass # so this is always executed, but it does nothing else: pass Thuật ngữ Python Tài liệu Python đôi khi sử dụng thuật ngữ bộ báo cáo có nghĩa là những gì chúng ta đã gọi là một khối ở đây. Chúng có nghĩa là điều tương tự, và vì hầu hết các ngôn ngữ và nhà khoa học máy tính khác sử dụng khối từ, chúng tôi sẽ gắn bó với điều đó.suite of statements to mean what we have called a block here. They mean the same thing, and since most other languages and computer scientists use the word block, we’ll stick with that. Cũng lưu ý rằng if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1 không phải là một tuyên bố. Tuyên bố if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 có hai mệnh đề, một trong số đó là mệnh đề (tùy chọn) if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1. Tài liệu Python gọi cả hai hình thức, cùng với biểu mẫu tiếp theo mà chúng tôi sắp đáp ứng, câu lệnh if True: # This is always true pass # so this is always executed, but it does nothing else: pass1. 4.2. Các điều kiện bị xiềng xíchChained conditionals¶Đôi khi có nhiều hơn hai khả năng và chúng ta cần nhiều hơn hai chi nhánh. Một cách để thể hiện một tính toán như thế là một điều kiện được xích:chained conditional: if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C Sơ đồ của chiếc xích này có điều kiện if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C4 là viết tắt của if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C5. Một lần nữa, chính xác một nhánh sẽ được thực thi. Không có giới hạn về số lượng câu lệnh if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C4 nhưng chỉ cho phép một câu lệnh if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1 cuối cùng (và tùy chọn) và nó phải là nhánh cuối cùng trong câu lệnh: if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.") Mỗi điều kiện được kiểm tra theo thứ tự. Nếu lần đầu tiên là sai, tiếp theo sẽ được kiểm tra, v.v. Nếu một trong số chúng là đúng, nhánh tương ứng sẽ thực thi và câu lệnh kết thúc. Ngay cả khi nhiều hơn một điều kiện là đúng, chỉ có nhánh thực sự thực hiện đầu tiên. 4.3. Điều kiện lồng nhauNested conditionals¶Một điều kiện cũng có thể được lồng trong một cái khác. (Đó là cùng một chủ đề về khả năng tổng hợp, một lần nữa!) Chúng tôi có thể đã viết ví dụ trước như sau:nested within another. (It is the same theme of composibility, again!) We could have written the previous example as follows: Sơ đồ của điều kiện lồng nhau này if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C Các điều kiện bên ngoài chứa hai nhánh. Chi nhánh thứ hai chứa một tuyên bố if True: # This is always true pass # so this is always executed, but it does nothing else: pass1 khác, có hai nhánh riêng. Hai nhánh đó cũng có thể chứa các tuyên bố có điều kiện là tốt. Mặc dù thụt lề của các câu lệnh làm cho cấu trúc rõ ràng, các điều kiện lồng nhau rất nhanh chóng trở nên khó đọc. Nói chung, đó là một ý tưởng tốt để tránh chúng khi bạn có thể. Các toán tử logic thường cung cấp một cách để đơn giản hóa các câu lệnh điều kiện lồng nhau. Ví dụ: chúng ta có thể viết lại mã sau bằng một điều kiện duy nhất: if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") Hàm if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C9 chỉ được gọi nếu chúng ta vượt qua cả hai điều kiện, vì vậy chúng ta có thể sử dụng toán tử if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")0: if 0 < x and x < 10: print("x is a positive single digit.") Ghi chú Python thực sự cho phép một hình thức ngắn tay cho việc này, vì vậy những điều sau đây cũng sẽ hoạt động: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))0 4.4. Sự lặp lạiIteration¶Máy tính thường được sử dụng để tự động hóa các tác vụ lặp đi lặp lại. Lặp đi lặp lại các nhiệm vụ giống hệt hoặc tương tự mà không mắc lỗi là điều mà máy tính làm tốt và mọi người làm kém. Việc thực hiện lặp đi lặp lại của một tập hợp các câu lệnh được gọi là lặp. Python có hai tuyên bố để lặp lại - tuyên bố if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0, mà chúng tôi đã gặp chương trước và tuyên bố if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2. Trước khi chúng ta nhìn vào những điều đó, chúng ta cần xem xét một vài ý tưởng. 4.4.1. RecentSignMnent¶Reassignmnent¶Như chúng ta đã thấy trong phần biến là biến, việc thực hiện nhiều hơn một bài tập cho cùng một biến là hợp pháp. Một bài tập mới làm cho một biến hiện có đề cập đến một giá trị mới (và dừng tham khảo giá trị cũ).Variables are variable section, it is legal to make more than one assignment to the same variable. A new assignment makes an existing variable refer to a new value (and stop referring to the old value). food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))1 Đầu ra của chương trình này là Vì lần đầu tiên if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")3 được in, giá trị của nó là 5 và lần thứ hai, giá trị của nó là 7. Đây là những gì việc phân công lại trông giống như trong một ảnh chụp nhanh của trạng thái:reassignment looks like in a state snapshot: Với sự phân công lại, điều đặc biệt quan trọng là phân biệt giữa một tuyên bố gán và biểu thức boolean kiểm tra sự bình đẳng. Bởi vì Python sử dụng mã thông báo bằng nhau ( if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")4) để gán, nên việc diễn giải một tuyên bố như if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")5 như một bài kiểm tra boolean là điều hấp dẫn. Không giống như toán học, nó không phải là! Hãy nhớ rằng mã thông báo Python cho toán tử bình đẳng là if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")6. Cũng lưu ý rằng một bài kiểm tra bình đẳng là đối xứng, nhưng bài tập thì không. Ví dụ: nếu if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")7 thì if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")8. Nhưng trong Python, tuyên bố if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")9 là hợp pháp và if 0 < x and x < 10: print("x is a positive single digit.")0 thì không. Hơn nữa, trong toán học, một tuyên bố về sự bình đẳng luôn luôn đúng. Nếu if 0 < x and x < 10: print("x is a positive single digit.")1 bây giờ, thì if 0 < x and x < 10: print("x is a positive single digit.")2 sẽ luôn bằng if 0 < x and x < 10: print("x is a positive single digit.")3. Trong Python, một tuyên bố gán có thể làm cho hai biến bằng nhau, nhưng vì khả năng phân công lại, họ không phải ở lại như vậy: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))2 Dòng thứ ba thay đổi giá trị của if 0 < x and x < 10: print("x is a positive single digit.")2 nhưng không thay đổi giá trị của if 0 < x and x < 10: print("x is a positive single digit.")3, vì vậy chúng không còn bằng nhau. Ghi chú Python thực sự cho phép một hình thức ngắn tay cho việc này, vì vậy những điều sau đây cũng sẽ hoạt động: 4.4. Sự lặp lạiUpdating variables¶Máy tính thường được sử dụng để tự động hóa các tác vụ lặp đi lặp lại. Lặp đi lặp lại các nhiệm vụ giống hệt hoặc tương tự mà không mắc lỗi là điều mà máy tính làm tốt và mọi người làm kém. Việc thực hiện lặp đi lặp lại của một tập hợp các câu lệnh được gọi là lặp. Python có hai tuyên bố để lặp lại - tuyên bố if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0, mà chúng tôi đã gặp chương trước và tuyên bố if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2. Trước khi chúng ta nhìn vào những điều đó, chúng ta cần xem xét một vài ý tưởng. 4.4.1. RecentSignMnent¶ food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))3 Như chúng ta đã thấy trong phần biến là biến, việc thực hiện nhiều hơn một bài tập cho cùng một biến là hợp pháp. Một bài tập mới làm cho một biến hiện có đề cập đến một giá trị mới (và dừng tham khảo giá trị cũ).initialize it, usually with a simple assignment: Tuyên bố thứ hai này - cập nhật một biến bằng cách thêm 1 vào nó - là rất phổ biến. Nó được gọi là một sự gia tăng của biến; Trừ 1 được gọi là giảm.increment of the variable; subtracting 1 is called a decrement. 4.5. Vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0The if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0 loop¶Vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 xử lý từng mục trong một chuỗi, do đó nó được sử dụng với các loại dữ liệu chuỗi Python, - chuỗi, danh sách và bộ dữ liệu. Mỗi mục lần lượt được (lại) được gán cho biến vòng lặp và phần thân của vòng lặp được thực thi. Hình thức chung của vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 là: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))4 Đây là một ví dụ khác về một tuyên bố ghép trong Python, và giống như các câu lệnh phân nhánh, nó có tiêu đề kết thúc bởi một đại tràng ( if True: # This is always true pass # so this is always executed, but it does nothing else: pass3) và một cơ thể bao gồm một chuỗi một hoặc nhiều câu lệnh thụt cùng một số tiền từ tiêu đề. Biến vòng lặp được tạo khi câu lệnh if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 chạy, do đó bạn không cần tạo biến trước đó. Mỗi lần lặp chỉ định biến vòng lặp cho phần tử tiếp theo trong chuỗi, và sau đó thực thi các câu lệnh trong cơ thể. Câu lệnh kết thúc khi đạt được phần tử cuối cùng trong chuỗi. Loại dòng chảy này được gọi là một vòng lặp vì nó lặp trở lại trên đỉnh sau mỗi lần lặp.loop because it loops back around to the top after each iteration. food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))5 Chạy qua tất cả các mục trong một chuỗi được gọi là đi qua trình tự, hoặc truyền tải.traversing the sequence, or traversal. Bạn nên chạy ví dụ này để xem nó làm gì. Mẹo Như với tất cả các ví dụ bạn thấy trong cuốn sách này, bạn nên tự mình thử mã này và xem nó làm gì. Bạn cũng nên cố gắng dự đoán kết quả trước khi bạn thực hiện và tạo các ví dụ liên quan của riêng bạn và thử chúng. Nếu bạn nhận được kết quả mà bạn mong đợi, hãy tự vỗ về phía sau và tiếp tục. Nếu bạn không nên, hãy cố gắng tìm ra lý do tại sao. Đây là bản chất của phương pháp khoa học, và rất cần thiết nếu bạn muốn nghĩ như một lập trình viên máy tính. Thông thường, bạn sẽ muốn một vòng lặp lặp lại một số lần nhất định hoặc lặp lại trên một chuỗi số nhất định. Hàm food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))06 có ích cho điều đó. food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))6 4.6. Những cái bàn¶Tables¶Một trong những điều vòng lặp là tốt cho việc tạo bảng. Trước khi máy tính có sẵn, mọi người phải tính toán logarit, sines và cosines và các chức năng toán học khác bằng tay. Để làm cho điều đó dễ dàng hơn, các cuốn sách toán học chứa các bảng dài liệt kê các giá trị của các chức năng này. Tạo các bảng chậm và nhàm chán, và chúng có xu hướng đầy lỗi. Khi máy tính xuất hiện trên hiện trường, một trong những phản ứng ban đầu là, Đây là điều tuyệt vời! Chúng ta có thể sử dụng các máy tính để tạo các bảng, vì vậy sẽ không có lỗi. Điều đó hóa ra là đúng (chủ yếu) nhưng thiển cận. Ngay sau đó, máy tính và máy tính lan tỏa đến mức các bảng trở nên lỗi thời. Vâng, gần như. Đối với một số hoạt động, máy tính sử dụng các bảng của các giá trị để nhận được câu trả lời gần đúng và sau đó thực hiện các tính toán để cải thiện xấp xỉ. Trong một số trường hợp, đã có lỗi trong các bảng cơ bản, nổi tiếng nhất trong bảng Chip của bộ xử lý Intel Pentium được sử dụng để thực hiện phân chia điểm nổi. Mặc dù bảng nhật ký không hữu ích như trước đây, nhưng nó vẫn làm ví dụ tốt. Chương trình sau đây đưa ra một chuỗi các giá trị trong cột bên trái và 2 được nâng lên công suất của giá trị đó trong cột bên phải: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))7 Sử dụng ký tự tab ( food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))07) làm cho đầu ra căn chỉnh độc đáo. food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))8 4.7. Tuyên bố if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") 2The if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") 2 statement¶Cú pháp chung cho câu lệnh trong khi trông như thế này: food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))9 Giống như các câu lệnh phân nhánh và vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0, câu lệnh if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 là một câu lệnh ghép bao gồm một tiêu đề và một cơ thể. Vòng lặp if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 thực hiện một số lần không xác định, miễn là ở biểu thức Boolean là đúng. Đây là một ví dụ đơn giản: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")0 Lưu ý rằng nếu food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))12 được đặt thành food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))13 trên dòng đầu tiên, phần thân của câu lệnh if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 sẽ không thực thi. Dưới đây là một chương trình ví dụ công phu hơn thể hiện việc sử dụng câu lệnh if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")1 Dòng thực thi cho câu lệnh if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 hoạt động như thế này:
Cơ thể bao gồm tất cả các tuyên bố bên dưới tiêu đề có cùng thụt. Phần thân của vòng lặp nên thay đổi giá trị của một hoặc nhiều biến để cuối cùng điều kiện trở nên sai và vòng lặp chấm dứt. Nếu không, vòng lặp sẽ lặp lại mãi mãi, được gọi là vòng lặp vô hạn.infinite loop. Một nguồn giải trí vô tận cho các lập trình viên máy tính là quan sát rằng các hướng trên dầu gội, lau, rửa, lặp lại, là một vòng lặp vô hạn. Trong trường hợp ở đây, chúng ta có thể chứng minh rằng vòng lặp chấm dứt vì chúng ta biết rằng giá trị của food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))22 là hữu hạn và chúng ta có thể thấy rằng giá trị của food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))23 tăng mỗi lần thông qua vòng lặp, vì vậy cuối cùng nó sẽ phải bằng food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))22. Trong các trường hợp khác, nó không dễ dàng để nói. Những gì bạn sẽ nhận thấy ở đây là vòng lặp if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 hoạt động nhiều hơn cho bạn - lập trình viên - hơn là vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 tương đương. Khi sử dụng vòng lặp if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2, người ta phải tự điều khiển biến vòng lặp: cho nó một giá trị ban đầu, kiểm tra để hoàn thành và sau đó đảm bảo bạn thay đổi thứ gì đó trong cơ thể để vòng lặp chấm dứt. 4.8. Lựa chọn giữa if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0 và ________ 82¶Choosing between if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0 and if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") 2¶Vậy tại sao có hai loại vòng nếu if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 trông dễ dàng hơn? Ví dụ tiếp theo này cho thấy một trường hợp chúng ta cần sức mạnh thêm mà chúng ta nhận được từ vòng lặp if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2. Sử dụng vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 nếu bạn biết, trước khi bạn bắt đầu vòng lặp, số lần tối đa mà bạn sẽ cần phải thực hiện cơ thể. Ví dụ: nếu bạn vượt qua một danh sách các yếu tố, bạn sẽ biết rằng số lần lặp vòng tối đa mà bạn có thể cần là tất cả các yếu tố trong danh sách. Hoặc nếu bạn cần in bảng 12 lần, chúng tôi biết ngay lập tức vòng lặp sẽ cần chạy. Vì vậy, bất kỳ vấn đề nào như khác nhau về mô hình thời tiết này trong 1000 chu kỳ, hoặc tìm kiếm danh sách các từ này, thì Tìm tất cả các số nguyên tố lên tới 10000, cho thấy rằng vòng lặp if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0 là tốt nhất. Ngược lại, nếu bạn được yêu cầu lặp lại một số tính toán cho đến khi một số điều kiện được đáp ứng và bạn không thể tính toán trước khi điều này sẽ xảy ra, như chúng tôi đã làm trong chương trình tên vĩ đại nhất trên mạng, bạn sẽ cần một vòng lặp if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2. Chúng tôi gọi là lần lặp lại trường hợp đầu tiên - chúng tôi có một số giới hạn xác định cho những gì cần thiết. Trường hợp thứ hai được gọi là lặp lại không xác định - chúng tôi không chắc chắn có bao nhiêu lần lặp lại mà chúng tôi cần - chúng tôi thậm chí không thể thiết lập giới hạn trên!definite iteration — we have some definite bounds for what is needed. The latter case is called indefinite iteration — we’re not sure how many iterations we’ll need — we cannot even establish an upper bound! 4.9. Truy tìm một chương trìnhTracing a program¶Để viết các chương trình máy tính hiệu quả, một lập trình viên cần phát triển khả năng theo dõi việc thực hiện chương trình máy tính. Truy tìm liên quan đến việc trở thành máy tính, và theo luồng thực thi thông qua việc chạy chương trình mẫu, ghi lại trạng thái của tất cả các biến và bất kỳ đầu ra nào mà chương trình tạo ra sau mỗi lần thực hiện.trace the execution of a computer program. Tracing involves “becoming the computer” and following the flow of execution through a sample program run, recording the state of all variables and any output the program generates after each instruction is executed. Để hiểu quá trình này, hãy để theo dõi việc thực hiện chương trình từ phần câu lệnh WHRE.The while statement section. Khi bắt đầu dấu vết, chúng tôi có một biến cục bộ, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))35 với giá trị ban đầu là food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))36. Người dùng sẽ nhập một chuỗi được lưu trữ trong biến, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))37. Hãy giả sử họ vào food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))38. Dòng tiếp theo tạo ra một biến có tên food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))23 và mang lại cho nó một giá trị liên kết là food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))40. Để theo dõi tất cả những điều này khi bạn theo dõi một chương trình, hãy tạo một cột hướng trên một mảnh giấy cho mỗi biến được tạo khi chương trình chạy và một bài khác cho đầu ra. Dấu vết của chúng tôi cho đến nay sẽ trông giống như thế này: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")2 Vì food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))41 đánh giá thành if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")5 (dành một phút để thuyết phục bản thân về điều này), cơ thể vòng lặp được thực thi. Người dùng bây giờ sẽ thấy if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")3 Giả sử người dùng nhập food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))43 lần này, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))23 sẽ được tăng lên, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))41 một lần nữa đánh giá thành if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")5 và dấu vết của chúng tôi sẽ trông như thế này: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")4 Một dấu vết đầy đủ của chương trình có thể tạo ra một cái gì đó như thế này: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")5 Theo dõi có thể hơi tẻ nhạt và dễ bị lỗi (đó là lý do tại sao chúng ta có máy tính để làm công việc này ngay từ đầu!), Nhưng đó là một kỹ năng thiết yếu cho một lập trình viên có. Từ một dấu vết, chúng ta có thể tìm hiểu rất nhiều về cách thức hoạt động của mã. 4.10. Bài tập viết tắtAbbreviated assignment¶Việc tăng một biến là phổ biến đến mức Python cung cấp cú pháp viết tắt cho nó: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")6 food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))47 là một sự hủy bỏ cho food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))48. Chúng tôi phát âm người vận hành là cộng đồng cộng. Giá trị gia tăng không phải là 1: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")7 Có các chữ viết tắt tương tự cho food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))49, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))50, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))51, food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))52 và food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))53: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")8 4.11. Một ví dụ if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") 2Another if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.") 2 example: Guessing game¶Chương trình sau đây thực hiện một trò chơi đoán đơn giản: if food == 'spam': print('Ummmm, my favorite!') else: print("No, I won't have it. I want spam!")9 Chương trình này sử dụng luật toán học toán học (được đưa ra số thực A và B, chính xác là một trong ba điều này phải đúng: A> B, A trichotomy (given real numbers a and b, exactly one of these three must be true: a > b, a < b, or a == b). 4.12. Tuyên bố food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! ')) 55The food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! ')) 55 statement¶Tuyên bố phá vỡ được sử dụng để ngay lập tức rời khỏi cơ thể của vòng lặp của nó. Tuyên bố tiếp theo được thực thi là câu nói đầu tiên sau cơ thể:break statement is used to immediately leave the body of its loop. The next statement to be executed is the first one after the body: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False0 Bản in này: 4.13. Tuyên bố food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! ')) 56The food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! ')) 56 statement¶Đây là một tuyên bố dòng điều khiển khiến chương trình bỏ qua ngay lập tức việc xử lý phần còn lại của phần thân của vòng lặp, cho lần lặp hiện tại. Nhưng vòng lặp vẫn tiếp tục chạy cho các lần lặp lại còn lại: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False1 Bản in này: 4.14. Ví dụ khác if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0Another if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C 0 example¶Dưới đây là một ví dụ kết hợp một số điều chúng tôi đã học được: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False2 Theo dõi chương trình này và đảm bảo bạn cảm thấy tự tin rằng bạn hiểu cách thức hoạt động của nó. 4.15. Các vòng lặp lồng cho dữ liệu lồng nhauNested Loops for Nested Data¶Bây giờ chúng tôi sẽ đưa ra một danh sách phiêu lưu hơn nữa của dữ liệu có cấu trúc. Trong trường hợp này, chúng tôi có một danh sách các sinh viên. Mỗi sinh viên có một tên được ghép nối với một danh sách một danh sách các môn học mà họ đã đăng ký: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False3 Ở đây, chúng tôi đã gán một danh sách năm yếu tố cho biến food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))58. Hãy để in ra từng tên học sinh và số lượng môn học mà họ đã đăng ký: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False4 Python đáp ứng dễ dàng với đầu ra sau: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False5 Bây giờ chúng tôi muốn hỏi có bao nhiêu sinh viên đang học CompSci. Điều này cần một bộ đếm và đối với mỗi sinh viên, chúng tôi cần một vòng thứ hai kiểm tra từng đối tượng lần lượt: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False6 if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False7 Bạn nên thiết lập một danh sách các dữ liệu của riêng bạn mà bạn quan tâm - có thể là một danh sách các đĩa CD của bạn, mỗi loại chứa một danh sách các tiêu đề bài hát trên CD hoặc một danh sách các tiêu đề phim bộ phim. Sau đó, bạn có thể đặt câu hỏi như những bộ phim nào có sự tham gia của Angelina Jolie? 4.16. Danh sách toàn diệnList comprehensions¶Hiểu danh sách là một cấu trúc cú pháp cho phép các danh sách được tạo từ các danh sách khác bằng cách sử dụng cú pháp toán học nhỏ gọn, toán học:list comprehension is a syntactic construct that enables lists to be created from other lists using a compact, mathematical syntax: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False8 Cú pháp chung cho biểu thức hiểu danh sách là: if BOOLEAN EXPRESSION: STATEMENTS_1 # executed if condition evaluates to True else: STATEMENTS_2 # executed if condition evaluates to False9 Biểu thức danh sách này có tác dụng tương tự như: if True: # This is always true pass # so this is always executed, but it does nothing else: pass0 Như bạn có thể thấy, danh sách hiểu được nhỏ gọn hơn nhiều. 4.17. Bảng chú giải¶Glossary¶nốiĐể thêm dữ liệu mới vào cuối tệp hoặc đối tượng dữ liệu khác. khốiMột nhóm các tuyên bố liên tiếp với cùng thụt. thân hìnhKhối của các câu trong một tuyên bố ghép theo tiêu đề. chi nhánhMột trong những đường dẫn có thể của luồng thực thi được xác định bằng cách thực thi có điều kiện. Chuỗi có điều kiệnMột nhánh có điều kiện với nhiều hơn hai dòng thực thi có thể. Trong các điều kiện chuỗi Python được viết với các câu lệnh food = 'spam' if food == 'spam': print('Ummmm, my favorite!') print('I feel like saying it 100 times...') print(100 * (food + '! '))59.Tuyên bố phức hợp Một tuyên bố Python có hai phần: một tiêu đề và một cơ thể. Tiêu đề bắt đầu bằng một từ khóa và kết thúc bằng dấu hai chấm ( if True: # This is always true pass # so this is always executed, but it does nothing else: pass3). Cơ thể chứa một loạt các câu lệnh Python khác, tất cả đều thụt vào cùng một lượng. Ghi chú Chúng tôi sẽ sử dụng tiêu chuẩn Python của 4 không gian cho mỗi cấp độ thụt. tình trạngBiểu thức boolean trong một tuyên bố có điều kiện xác định nhánh nào được thực thi. Tuyên bố có điều kiệnMột tuyên bố kiểm soát luồng thực thi tùy thuộc vào một số điều kiện. Trong Python, các từ khóa if True: # This is always true pass # so this is always executed, but it does nothing else: pass1, if x < y: STATEMENTS_A else: if x > y: STATEMENTS_B else: STATEMENTS_C4 và if choice == 'a': print("You chose 'a'.") elif choice == 'b': print("You chose 'b'.") elif choice == 'c': print("You chose 'c'.") else: print("Invalid choice.")1 được sử dụng cho các câu lệnh có điều kiện.phản đối Một biến được sử dụng để đếm một cái gì đó, thường được khởi tạo về 0 và tăng lên trong phần thân của một vòng lặp. con trỏMột điểm đánh dấu vô hình theo dõi nơi nhân vật tiếp theo sẽ được in. giảm dầnGiảm 1. Lặp lại xác địnhMột vòng lặp nơi chúng ta có giới hạn trên về số lần cơ thể sẽ được thực thi. Lặp lại xác định thường được mã hóa tốt nhất dưới dạng vòng if x < y: STATEMENTS_A elif x > y: STATEMENTS_B else: STATEMENTS_C0.phân định Một chuỗi của một hoặc nhiều ký tự được sử dụng để chỉ định ranh giới giữa các phần riêng biệt của văn bản. tăngCả dưới dạng danh từ và dưới dạng động từ, tăng có nghĩa là tăng thêm 1. Vòng lặp vô hạnMột vòng lặp trong đó điều kiện chấm dứt không bao giờ được thỏa mãn. Lặp lại không xác địnhMột vòng lặp nơi chúng ta chỉ cần tiếp tục cho đến khi một số điều kiện được đáp ứng. Một tuyên bố if 0 < x: # assume x is an int here if x < 10: print("x is a positive single digit.")2 được sử dụng cho trường hợp này.khởi tạo (của một biến) Để khởi tạo một biến là cho nó một giá trị ban đầu. Vì trong các biến Python don don tồn tại cho đến khi chúng được gán giá trị, chúng được khởi tạo khi chúng được tạo. Trong các ngôn ngữ lập trình khác, đây không phải là trường hợp và các biến có thể được tạo mà không được khởi tạo, trong trường hợp đó chúng có giá trị mặc định hoặc rác. Lặp đi lặp lạiThực hiện lặp đi lặp lại một tập hợp các câu lệnh lập trình. vòngMột tuyên bố hoặc một nhóm các câu lệnh thực hiện nhiều lần cho đến khi một điều kiện chấm dứt được thỏa mãn. Vòng lặp biếnMột biến được sử dụng như một phần của điều kiện chấm dứt của một vòng lặp. Vòng lặp lồng nhauMột vòng lặp bên trong cơ thể của một vòng lặp khác. làm tổMột cấu trúc chương trình trong một cấu trúc khác, chẳng hạn như một tuyên bố có điều kiện bên trong một nhánh của một tuyên bố có điều kiện khác. dòng mớiMột nhân vật đặc biệt khiến con trỏ di chuyển đến đầu dòng tiếp theo. lời nhắcMột gợi ý trực quan cho người dùng nhập dữ liệu. sự phân công lạiThực hiện nhiều hơn một bài tập cho cùng một biến trong quá trình thực hiện một chương trình. chuyển hướngMột ký tự đặc biệt khiến con trỏ di chuyển đến Tab dừng tiếp theo trên dòng hiện tại. TrichotomyGiven any real numbers a and b, exactly one of the following relations holds: a < b, a > b, or a == b. Thus when you can establish that two of the relations are false, you can assume the remaining one is true. dấu vếtĐể tuân theo luồng thực thi của một chương trình bằng tay, ghi lại sự thay đổi trạng thái của các biến và bất kỳ đầu ra nào được tạo ra. Chúng ta có thể đưa ra điều kiện cho vòng lặp trong Python không?Trong hầu hết các ngôn ngữ lập trình (C/C ++, Java, v.v.), việc sử dụng tuyên bố khác đã bị hạn chế với các câu lệnh IF có điều kiện.Nhưng Python cũng cho phép chúng tôi sử dụng điều kiện khác với các vòng lặp.Khối khác chỉ sau khi/trong khi chỉ được thực thi khi vòng lặp không bị chấm dứt bởi một câu lệnh break.Python also allows us to use the else condition with for loops. The else block just after for/while is executed only when the loop is NOT terminated by a break statement.
Điều kiện hoạt động như thế nào cho Loop?Điều kiện - Biểu thức này được kiểm tra mỗi lần trước khi vòng lặp chạy.Nếu nó đánh giá là TRUE, câu lệnh hoặc mã trong vòng lặp được thực thi. Nếu nó đánh giá là sai, vòng lặp sẽ dừng. Và nếu biểu thức này bị bỏ qua, nó sẽ tự động đánh giá thành true.If it evaluates to true , the statement or code in the loop is executed. If it evaluates to false , the loop stops. And if this expression is omitted, it automatically evaluates to true .
Là cho vòng lặp là một vòng lặp có điều kiện?Vòng lặp trong khi vòng lặp là hai loại vòng lặp có điều kiện phổ biến nhất trong hầu hết các ngôn ngữ lập trình.. |