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:
    pass
1:

  1. Đại tràng (

    if True:          # This is always true
        pass          # so this is always executed, but it does nothing
    else:
        pass
    
    3) là đáng kể và cần thiết. Nó tách tiêu đề của câu lệnh ghép ra khỏi cơ thể.header of the compound statement from the body.

  2. Dòng sau khi đại tràng phải được thụt vào. Đó là tiêu chuẩn trong Python để sử dụng bốn không gian để thụt vào.

  3. Tất cả các dòng thụt vào cùng một lượng sau khi đại tràng sẽ được thực thi bất cứ khi nào boolean_expression là đúng.

Đâ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:
    pass
1 đượ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:
    pass
5 không bằng
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6? Trong một tuyên bố
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
1 đơ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:
    pass
5 is not equal to
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6? In a simple
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
1 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:
    pass
5 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:
    pass
6 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

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?

Như với tuyên bố

if x < y:
    STATEMENTS_A
elif x > y:
    STATEMENTS_B
else:
    STATEMENTS_C
0 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:
    pass
1 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:
    pass
1 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:
    pass
1 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:
    pass
3).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:
    pass
1 statement begins with the keyword
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
1 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:
    pass
3).

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_C
5 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_C
5 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_C
5 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_C
7.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_C
7 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:
    pass
5 bằng
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 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

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?

Cú pháp cho câu lệnh

if x < y:
    STATEMENTS_A
elif x > y:
    STATEMENTS_B
else:
    STATEMENTS_C
7 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:
    pass
1 của câu lệnh
if x < y:
    STATEMENTS_A
elif x > y:
    STATEMENTS_B
else:
    STATEMENTS_C
7 đượ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_C
7, 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:
    pass
1 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:
    pass
1.

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

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?

if x < y:
    STATEMENTS_A
else:
    if x > y:
        STATEMENTS_B
    else:
        STATEMENTS_C
4 là viết tắt của
if x < y:
    STATEMENTS_A
else:
    if x > y:
        STATEMENTS_B
    else:
        STATEMENTS_C
5. 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_C
4 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

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?

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:
    pass
1 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_C
9 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_C
0, 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:

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?

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_C
0, 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_C
0 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_C
0 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:
    pass
3) 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_C
0 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_C
0, 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:

  1. Đánh giá điều kiện (

    food = 'spam'
    
    if food == 'spam':
        print('Ummmm, my favorite!')
        print('I feel like saying it 100 times...')
        print(100 * (food + '! '))
    
    17), năng suất
    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 hoặc
    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.

  2. Nếu điều kiện là sai, hãy thoát khỏi câu lệnh

    if 0 < x:            # assume x is an int here
        if x < 10:
            print("x is a positive single digit.")
    
    2 và tiếp tục thực thi tại câu lệnh tiếp theo.

  3. Nếu điều kiện là đúng, thực thi từng

    food = 'spam'
    
    if food == 'spam':
        print('Ummmm, my favorite!')
        print('I feel like saying it 100 times...')
        print(100 * (food + '! '))
    
    21 trong cơ thể và sau đó quay lại bước 1.

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_C
0 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_C
0 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_C
0 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_C
0 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

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 False
0

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 False
1

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 False
2

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 False
3

Ở đâ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 False
4

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 False
5

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 False
6

if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
7

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 False
8

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 False
9

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:
    pass
0

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

Một nhóm các tuyên bố liên tiếp với cùng thụt.

thân hình

Khối của các câu trong một tuyên bố ghép theo tiêu đề.

chi nhánh

Mộ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ện

Mộ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:
    pass
3). 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ạng

Biể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ện

Mộ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:
    pass
1,
if x < y:
    STATEMENTS_A
else:
    if x > y:
        STATEMENTS_B
    else:
        STATEMENTS_C
4 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ần

Giảm 1.

Lặp lại xác định

Mộ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_C
0.

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ăng

Cả 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ạn

Mộ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 định

Mộ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ại

Thự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òng

Mộ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ến

Mộ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 nhau

Mộ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ới

Mộ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ắc

Một gợi ý trực quan cho người dùng nhập dữ liệu.

sự phân công lại

Thự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ướng

Mộ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.

Trichotomy

Given 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..