Hướng dẫn how do you add a condition to a loop in python? - làm thế nào để bạn thêm một điều kiện vào một vòng lặp trong python?

Vòng lặp Python

from itertools import islice

for value in islice[n, 5]:
    # do something with value
6 không có bất kỳ hỗ trợ nào cho việc này. Bạn có thể nhận được hiệu ứng tương tự bằng cách sử dụng câu lệnh
from itertools import islice

for value in islice[n, 5]:
    # do something with value
7:

n = [1, 2, 3, 4, 6, 7]

for i in n:
    if i >= 5:
        break
    # do something with i

Trong Python, một

from itertools import islice

for value in islice[n, 5]:
    # do something with value
6 thực sự là một
from itertools import islice

for value in islice[n, 5]:
    # do something with value
9 lặp đi lặp lại trên một số "iterator" hoặc một số "đối tượng có thể lặp lại". Điều này thậm chí còn đúng khi bạn chỉ muốn lặp lại một số lần cụ thể:

for i in range[1, 8]:
    # do something with i

Trong Python 2.x, vòng lặp

from itertools import islice

for value in islice[n, 5]:
    # do something with value
6 ở trên xây dựng một danh sách với các số từ 1 đến 7, sau đó lặp lại trong danh sách; Trong Python 3.x, vòng lặp ở trên có một "đối tượng iterator" mang lại các giá trị từ 1 đến 7 bao gồm một lần. .

Nếu bạn đã có một danh sách để lặp lại, thì đó là Python tốt để lặp lại trực tiếp thay vì sử dụng một biến

if BOOLEAN EXPRESSION:
    STATEMENTS
3 để lập chỉ mục danh sách. Nếu bạn vẫn cần một biến chỉ mục, bạn có thể nhận được nó với
if BOOLEAN EXPRESSION:
    STATEMENTS
4 như vậy:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value

Chỉnh sửa: Một cách khác để giải quyết vấn đề trên sẽ là sử dụng cắt danh sách.

for value in n[:5]:
    # do something with value

Điều này hoạt động nếu

if BOOLEAN EXPRESSION:
    STATEMENTS
5 là một danh sách. Vòng lặp
from itertools import islice

for value in islice[n, 5]:
    # do something with value
6 sẽ đặt
if BOOLEAN EXPRESSION:
    STATEMENTS
7 thành các mục liên tiếp từ danh sách, dừng khi danh sách hết hoặc 5 mục đã được xử lý, tùy theo điều kiện nào đến trước. Đó không phải là lỗi khi yêu cầu một lát có độ dài dài hơn danh sách thực tế.

Nếu bạn muốn sử dụng kỹ thuật trên nhưng vẫn cho phép mã của bạn hoạt động với trình lặp lại, bạn có thể sử dụng

if BOOLEAN EXPRESSION:
    STATEMENTS
8:

from itertools import islice

for value in islice[n, 5]:
    # do something with value

Điều này sẽ hoạt động với một danh sách, một trình lặp, một trình tạo, bất kỳ loại có thể lặp lại.

Và, như với việc cắt danh sách, vòng lặp

from itertools import islice

for value in islice[n, 5]:
    # do something with value
6 sẽ nhận được tối đa 5 giá trị và không phải là lỗi khi yêu cầu
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
0 dài hơn số lượng giá trị mà ITS có thể thực sự có.

4.1. Thực thi có điều kiệnConditional execution¶

4.1.1. Tuyên bố
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1
The
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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:

if BOOLEAN EXPRESSION:
    STATEMENTS

Một vài điều quan trọng cần lưu ý về 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 + '! ']]
1:

  1. Đại tràng [

    food = 'spam'
    
    if food == 'spam':
        print['Ummmm, my favorite!']
        print['I feel like saying it 100 times...']
        print[100 * [food + '! ']]
    
    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

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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à
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
5 không bằng
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
6? Trong một tuyên bố
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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 câu lệnh tiếp theo.condition. If it is true, then all the indented statements get executed. What happens if the condition is false, and
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
5 is not equal to
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
6? In a simple
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
5 thành một cái gì đó khác với
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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

Như với câu lệnh

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 từ chương cuối, tuyên bố
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 bắt đầu bằng từ khóa
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 theo sau là biểu thức boolean và kết thúc bằng dấu hai chấm [
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
3].compound statement. Compound statements consist of a header line and a body. The header line of the
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 statement begins with the keyword
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 followed by a boolean expression and ends with a colon [
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
5 on your source code with the push of a button.

4.1.2. Tuyên bố
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
7
The
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
7.something else to happen when it is false. For that we have the
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
5 bằng
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
6 và câu lệnh in được thụt vào theo điều khoản
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 của câu lệnh
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
7 được thực thi theo thứ tự nếu biểu thức boolean đánh giá thành
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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 BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
6, và thay vào đó tất cả các câu lệnh theo mệnh đề
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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.

Lưu ý rằng

if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
1 không phải là một tuyên bố. Tuyên bố
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1 có hai mệnh đề, một trong số đó là mệnh đề [tùy chọn]
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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
food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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:

for i in range[1, 8]:
    # do something with i
0

Sơ đồ của chiếc xích này có điều kiện

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
4 là viết tắt của
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
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 True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
4 nhưng chỉ cho phép một câu lệnh
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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:

for i in range[1, 8]:
    # do something with i
1

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

for i in range[1, 8]:
    # do something with i
2

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ố

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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:

for i in range[1, 8]:
    # do something with i
3

Hàm

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
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ử
for i in range[1, 8]:
    # do something with i
00:

for i in range[1, 8]:
    # do something with i
4

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:

for i in range[1, 8]:
    # do something with i
5

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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0, mà chúng tôi đã gặp chương trước và tuyên bố ____102.

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

for i in range[1, 8]:
    # do something with i
6

Đầu ra của chương trình này là

Vì lần đầu tiên

for i in range[1, 8]:
    # do something with i
03 đượ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 [

for i in range[1, 8]:
    # do something with i
04] để gán, nên việc diễn giải một tuyên bố như
for i in range[1, 8]:
    # do something with i
05 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à
for i in range[1, 8]:
    # do something with i
06.

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

for i in range[1, 8]:
    # do something with i
07 thì
for i in range[1, 8]:
    # do something with i
08. Nhưng trong Python, tuyên bố
for i in range[1, 8]:
    # do something with i
09 là hợp pháp và
for i in range[1, 8]:
    # do something with i
10 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

for i in range[1, 8]:
    # do something with i
11 bây giờ, thì
for i in range[1, 8]:
    # do something with i
12 sẽ luôn bằng
for i in range[1, 8]:
    # do something with i
13. 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:

for i in range[1, 8]:
    # do something with i
7

Dòng thứ ba thay đổi giá trị của

for i in range[1, 8]:
    # do something with i
12 nhưng không thay đổi giá trị của
for i in range[1, 8]:
    # do something with i
13, vì vậy chúng không còn bằng nhau.

Ghi chú

Trong một số ngôn ngữ lập trình, một biểu tượng khác được sử dụng để gán, chẳng hạn như

for i in range[1, 8]:
    # do something with i
16 hoặc
for i in range[1, 8]:
    # do something with i
17, để tránh nhầm lẫn. Python đã chọn sử dụng mã thông báo
for i in range[1, 8]:
    # do something with i
04 để gán và
for i in range[1, 8]:
    # do something with i
06 cho sự bình đẳng. Đây là một lựa chọn phổ biến, cũng được tìm thấy trong các ngôn ngữ như C, C ++, Java, JavaScript và PHP, mặc dù nó làm cho mọi thứ trở nên khó hiểu đối với các lập trình viên mới.

4.4.2. Cập nhật các biếnUpdating variables¶

Khi một câu lệnh gán được thực thi, biểu thức phía bên phải [nghĩa là biểu thức xuất hiện sau mã thông báo gán] được đánh giá trước. Sau đó, kết quả của đánh giá đó được ghi vào biến ở phía bên trái, do đó thay đổi nó.

Một trong những hình thức phân công lại phổ biến nhất là bản cập nhật, trong đó giá trị mới của biến phụ thuộc vào giá trị cũ của nó.

Dòng thứ hai có nghĩa là nhận được giá trị hiện tại của N, nhân nó với ba và thêm một, và đặt câu trả lời trở lại N làm giá trị mới của nó. Vì vậy, sau khi thực hiện hai dòng trên,

for i in range[1, 8]:
    # do something with i
20 sẽ có giá trị 16.

Nếu bạn cố gắng nhận được giá trị của một biến không tồn tại, bạn sẽ gặp lỗi:

for i in range[1, 8]:
    # do something with i
8

Trước khi bạn có thể cập nhật một biến, bạn phải khởi tạo nó, thường là với một bài tập đơn giản: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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0
The
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 loop¶

Vòng lặp

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 trình tự 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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 là:

for i in range[1, 8]:
    # do something with i
9

Đâ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 [

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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.

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
0

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

for i in range[1, 8]:
    # do something with i
26 có ích cho điều đó.

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
1

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:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
2

Sử dụng ký tự tab [

for i in range[1, 8]:
    # do something with i
27] làm cho đầu ra căn chỉnh độc đáo.

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
3

4.7. Tuyên bố
for i in range[1, 8]:
    # do something with i
02
The
for i in range[1, 8]:
    # do something with i
02 statement¶

Cú pháp chung cho câu lệnh trong khi trông như thế này:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
4

Giống như các câu lệnh phân nhánh và vòng

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0, câu lệnh
for i in range[1, 8]:
    # do something with i
02 là một tuyên bố ghép bao gồm một tiêu đề và một cơ thể. Vòng lặp
for i in range[1, 8]:
    # do something with i
02 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:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
5

Lưu ý rằng nếu

for i in range[1, 8]:
    # do something with i
32 được đặt thành
for i in range[1, 8]:
    # do something with i
33 trên dòng đầu tiên, phần thân của câu lệnh
for i in range[1, 8]:
    # do something with i
02 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 ____1022

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
6

Lưu lượng thực thi cho câu lệnh

for i in range[1, 8]:
    # do something with i
02 hoạt động như thế này:

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

    for i in range[1, 8]:
        # do something with i
    
    37], năng suất
    if BOOLEAN EXPRESSION:
        STATEMENTS_1        # executed if condition evaluates to True
    else:
        STATEMENTS_2        # executed if condition evaluates to False
    
    6 hoặc
    if BOOLEAN EXPRESSION:
        STATEMENTS_1        # executed if condition evaluates to True
    else:
        STATEMENTS_2        # executed if condition evaluates to False
    
    5.

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

    for i in range[1, 8]:
        # do something with i
    
    02 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

    for i in range[1, 8]:
        # do something with i
    
    41 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

for i in range[1, 8]:
    # do something with i
42 là hữu hạn và chúng ta có thể thấy rằng giá trị của
for i in range[1, 8]:
    # do something with i
43 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
for i in range[1, 8]:
    # do something with i
42. 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

for i in range[1, 8]:
    # do something with i
02 hoạt động nhiều hơn cho bạn - lập trình viên - hơn là vòng lặp
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 tương đương. Khi sử dụng vòng lặp
for i in range[1, 8]:
    # do something with i
02, 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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 và ________ 102¶
Choosing between
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 and
for i in range[1, 8]:
    # do something with i
02¶

Vậy tại sao có hai loại vòng nếu

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 thêm sức mạnh mà chúng ta nhận được từ vòng lặp ____1022.

Sử dụng vòng lặp

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
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 ____1022.

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ộ,

for i in range[1, 8]:
    # do something with i
55 với giá trị ban đầu là
for i in range[1, 8]:
    # do something with i
56. Người dùng sẽ nhập một chuỗi được lưu trữ trong biến,
for i in range[1, 8]:
    # do something with i
57. Hãy giả sử họ vào
for i in range[1, 8]:
    # do something with i
58. Dòng tiếp theo tạo ra một biến có tên
for i in range[1, 8]:
    # do something with i
43 và mang lại cho nó một giá trị liên kết là
for i in range[1, 8]:
    # do something with i
60.

Để 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:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
7

for i in range[1, 8]:
    # do something with i
61 đánh giá thành
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
8

Giả sử người dùng nhập

for i in range[1, 8]:
    # do something with i
63 lần này,
for i in range[1, 8]:
    # do something with i
43 sẽ được tăng lên,
for i in range[1, 8]:
    # do something with i
61 một lần nữa đánh giá thành
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
5 và dấu vết của chúng tôi sẽ trông như thế này:

n = [3, 5, 10, "cat", "dog", 3.0, 4.0]  # list can contain different types
for i, value in enumerate[n]:
    # we only want to process the first 5 values in this list
    if i >= 5:
        break
    # do something with value
9

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:

for value in n[:5]:
    # do something with value
0

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ó:

for value in n[:5]:
    # do something with value
1

for i in range[1, 8]:
    # do something with i
67 là một sự hủy bỏ cho
for i in range[1, 8]:
    # do something with i
68. 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:

for value in n[:5]:
    # do something with value
2

Có các chữ viết tắt tương tự cho

for i in range[1, 8]:
    # do something with i
69,
for i in range[1, 8]:
    # do something with i
70,
for i in range[1, 8]:
    # do something with i
71,
for i in range[1, 8]:
    # do something with i
72 và
for i in range[1, 8]:
    # do something with i
73:

for value in n[:5]:
    # do something with value
3

4.11. Một ví dụ khác ____102Another
for i in range[1, 8]:
    # do something with i
02 example: Guessing game¶

Chương trình sau đây thực hiện một trò chơi đoán đơn giản:

for value in n[:5]:
    # do something with value
4

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 b, a < b, or a == b].

4.12. Tuyên bố
for i in range[1, 8]:
    # do something with i
75
The
for i in range[1, 8]:
    # do something with i
75 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:

for value in n[:5]:
    # do something with value
5

Bản in này:

4.13. Tuyên bố
for i in range[1, 8]:
    # do something with i
76
The
for i in range[1, 8]:
    # do something with i
76 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:

for value in n[:5]:
    # do something with value
6

Bản in này:

4.13. Tuyên bố
for i in range[1, 8]:
    # do something with i
76
Another
if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 example¶

Đâ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:

for value in n[:5]:
    # do something with value
7

4.14. Một ví dụ

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0 khác

Dưới đây là một ví dụ kết hợp một số điều chúng tôi đã học được:Nested Loops for Nested Data¶

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

for value in n[:5]:
    # do something with value
8

4.15. Các vòng lặp lồng cho dữ liệu lồng nhau

for value in n[:5]:
    # do something with value
9

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ý:

from itertools import islice

for value in islice[n, 5]:
    # do something with value
0

Ở đây, chúng tôi đã gán một danh sách năm yếu tố cho biến

for i in range[1, 8]:
    # do something with i
78. Hãy để in ra từng tên học sinh và số lượng môn học mà họ đã đăng ký:

Python đáp ứng dễ dàng với đầu ra sau:

from itertools import islice

for value in islice[n, 5]:
    # do something with value
2

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:

from itertools import islice

for value in islice[n, 5]:
    # do something with value
1
List comprehensions¶

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?list comprehension is a syntactic construct that enables lists to be created from other lists using a compact, mathematical syntax:

from itertools import islice

for value in islice[n, 5]:
    # do something with value
3

4.16. Danh sách toàn diện

from itertools import islice

for value in islice[n, 5]:
    # do something with value
4

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:

from itertools import islice

for value in islice[n, 5]:
    # do something with value
5

Cú pháp chung cho biểu thức hiểu danh sách là:

Biểu thức danh sách này có tác dụng tương tự như:Glossary¶

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¶

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 bằng các câu

for i in range[1, 8]:
    # do something with i
79.

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 [

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
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

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]
1,
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
4 và
if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False
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 food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]
0.

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ố

for i in range[1, 8]:
    # do something with i
02 đượ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ể thêm điều kiện trong vòng lặp Python không?

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.

Bạn có thể đặt một điều kiện trong một vòng lặp?

Bạn có thể đặt một vòng lặp bên trong một câu lệnh IF bằng một kỹ thuật gọi là luồng điều khiển lồng nhau. Đây là quá trình đặt một tuyên bố kiểm soát bên trong một câu lệnh kiểm soát khác để thực hiện một hành động. Bạn có thể đặt một câu lệnh IF bên trong cho các vòng lặp.. This is the process of putting a control statement inside of another control statement to execute an action. You can put an if statements inside for loops.

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

Bạn có thể có 2 điều kiện trong một vòng lặp không?

Sử dụng nhiều điều kiện như được thấy trên dòng 4, vòng lặp trong khi có hai điều kiện, một điều kiện sử dụng toán tử và một điều khiển sử dụng hoặc toán tử.Lưu ý: Điều kiện và điều kiện phải được đáp ứng cho vòng lặp chạy.Tuy nhiên, nếu một trong hai điều kiện ở phía hoặc bên của toán tử trả về true, vòng lặp sẽ chạy.the while loop has two conditions, one using the AND operator and the other using the OR operator. Note: The AND condition must be fulfilled for the loop to run. However, if either of the conditions on the OR side of the operator returns true , the loop will run.

Bài Viết Liên Quan

Chủ Đề