Hướng dẫn what is else suite in python? - bộ khác trong python là gì?

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận
     

    Sử dụng câu lệnh có điều kiện khác với vòng lặp trong Python

    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. & NBSP; 

    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.

    Khối khác được thực thi trong chương trình Python 3.x bên dưới: & NBSP;

    1
    8
    1
    9
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    0

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    2

    Python

    for

    1
    0
    1
    1
    1
    2
    1
    3
    1
    4
    1
    5
    1
    6
    1
    7

    1
    2
    3
    No Break

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7
     

    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.

    Khối khác được thực thi trong chương trình Python 3.x bên dưới: & NBSP;

    1
    8
    1
    9
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    0

    1
    8
    for foo in bar: some_statement()
    
    1

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1
    for foo in bar: some_statement()
    
    3

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7

    for

    1
    0
    1
    1
    1
    2
    1
    3
    1
    4
    1
    5
    1
    6
    1
    7

    1

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7
    In the following example, the else statement will only be executed if no element of the array is even, i.e. if statement has not been executed for any iteration. Therefore for the array [1, 9, 8] the if is executed in the third iteration of the loop and hence the else present after the for loop is ignored. In the case of array [1, 3, 5] the if is not executed for any iteration and hence the else after the loop is executed.

    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.

    Khối khác được thực thi trong chương trình Python 3.x bên dưới: & NBSP;

    Python

    for

    1
    0
    1
    1
    1
    2
    1
    3
    1
    4
    1
    5
    1
    6
    1
    7

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7

    0
    1
    2
    3
    4
    ended
    
    5
    for foo in bar: some_statement()
    
    1

    1
    8
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1
    for elem in range(5):
        if elem < 3:
            print(elem)
        else:
            break
    else:
        print('ended')
    
    4

    Đầu ra: & nbsp;

    Khối khác không được thực thi trong Python 3.x trở xuống: & nbsp;

    0
    1
    2
    
    4
    1
    4
    1
    5
    0
    1
    2
    
    7
    1
    5
    0
    1
    2
    
    9for0

    Loại khác chỉ hữu ích nếu có điều kiện nếu có bên trong vòng lặp mà bằng cách nào đó phụ thuộc vào biến vòng lặp. Trong ví dụ sau, câu lệnh khác sẽ chỉ được thực thi nếu không có phần tử nào của mảng, tức là nếu câu lệnh có không được thực hiện cho bất kỳ lần lặp. Do đó, đối với mảng [1, 9, 8] IF được thực thi trong lần lặp thứ ba của vòng lặp và do đó cái khác có mặt sau khi vòng lặp cho vòng lặp bị bỏ qua. Trong trường hợp mảng [1, 3, 5] IF không được thực thi cho bất kỳ lần lặp nào và do đó khác sau khi vòng lặp được thực thi.

    0
    1
    2
    
    4
    1
    4
    1
    5for8
    1
    5
    1
    00for0

    Output: 

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number

    for foo in bar: some_statement()
    
    9
    for elem in range(5):
        print(elem)
    else:
        print('ended')
    
    0exercise, predict the output of the following program. 

    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.

    Khối khác được thực thi trong chương trình Python 3.x bên dưới: & NBSP;

    Python

    for

    1
    0
    1
    1
    1
    2
    1
    3
    1
    4
    1
    5
    1
    6
    1
    7

    1
    8
    1
    9
    1
    17

    1
    8
    for foo in bar: some_statement()
    
    1

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7

    1
    8
    1
    9
    1
    3
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    6
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    7


    Python3 định nghĩa cho vòng lặp là

    1
    27 trong cuốn sách ngữ pháp.
    1
    28 được định nghĩa là
    1
    29.

    Đối với tôi, thật khó để hiểu làm thế nào gấp đôi cho vòng lặp phù hợp trong mô tả ngữ pháp để hiểu danh sách.

    Có một số câu hỏi nhỏ hơn:

    • Còn
      For List 1:
      list contains an even number
      
      For List 2:
      list does not contain an even number
      1 thì sao? Tôi cho rằng nó được sử dụng để hiểu danh sách.
    • Sau đó, một vòng lặp bình thường có thể sử dụng khối
      For List 1:
      list contains an even number
      
      For List 2:
      list does not contain an even number
      1 không?

    Tôi đánh giá cao nếu bạn có thể đi kèm với các ví dụ.

    Đã hỏi ngày 14 tháng 11 năm 2018 lúc 10:32Nov 14, 2018 at 10:32

    Erickgerickgerickg

    8916 Huy hiệu bạc15 Huy hiệu Đồng6 silver badges15 bronze badges

    2

    Như bạn có thể thấy từ các quy tắc khác của ngữ pháp:

    suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
    

    1
    28 là một câu lệnh đơn giản (trong một dòng), ví dụ:

    for foo in bar: some_statement()
    

    hoặc nó là một dòng mới, theo sau là một khối thụt lề (bao gồm các câu lệnh).


    1
    33 chỉ đơn giản là chuỗi "khác".

    Tôi thường đọc

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1 của vòng lặp là "không phá vỡ": nó được thực hiện sau khi vòng lặp được kết thúc, nhưng chỉ khi nó không bị thoát ra bởi
    for foo in bar: some_statement()
    
    1. Lý do nó tồn tại là nhất quán với
    1
    05, có tuyên bố
    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1, vì về cơ bản nó chỉ là một
    for elem in range(5):
        print(elem)
    else:
        print('ended')
    
    7 lặp đi lặp lại.

    Đã trả lời ngày 14 tháng 11 năm 2018 lúc 10:37Nov 14, 2018 at 10:37

    Hướng dẫn what is else suite in python? - bộ khác trong python là gì?

    L3viathanL3viathanL3viathan

    Phim thương hiệu vàng 26K257 Huy hiệu bạc76 Huy hiệu đồng2 gold badges57 silver badges76 bronze badges

    Theo tài liệu, mệnh đề

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1 của vòng lặp for được thực thi nếu vòng lặp kết thúc mà không bị hỏng.

    Xem hai ví dụ sau:

    for elem in range(5):
        print(elem)
    else:
        print('ended')
    

    Ở đây, phần

    1
    28 tương ứng với
    1
    42 và đầu ra sẽ là:

    0
    1
    2
    3
    4
    ended
    

    Và thứ hai:

    for elem in range(5):
        if elem < 3:
            print(elem)
        else:
            break
    else:
        print('ended')
    

    Ở đây, phần

    1
    28 tương ứng với
    1
    44 và đầu ra sẽ là:

    0
    1
    2
    

    Đã trả lời ngày 14 tháng 11 năm 2018 lúc 10:42Nov 14, 2018 at 10:42

    Hướng dẫn what is else suite in python? - bộ khác trong python là gì?

    Mistirumistirumistiru

    2.6873 huy hiệu vàng11 Huy hiệu bạc26 Huy hiệu đồng3 gold badges11 silver badges26 bronze badges

    For List 1:
    list contains an even number
    
    For List 2:
    list does not contain an even number
    1 sau khi được thực hiện nếu vòng lặp hoàn thành bình thường (nếu nó không bị phá vỡ với từ khóa
    for foo in bar: some_statement()
    
    1)

    https://docs.python.org/2/tutorial/controlflow.html

    1
    28 chỉ là một cấp độ thụt hoặc một câu lệnh duy nhất

    Đã trả lời ngày 14 tháng 11 năm 2018 lúc 10:37Nov 14, 2018 at 10:37

    Hướng dẫn what is else suite in python? - bộ khác trong python là gì?

    IeldenieldeniElden

    1.2341 Huy hiệu vàng14 Huy hiệu bạc24 Huy hiệu đồng1 gold badge14 silver badges24 bronze badges

    Bộ trong Python là gì?

    Một nhóm các câu lệnh riêng lẻ, tạo ra một khối mã duy nhất được gọi là bộ trong Python.Các câu lệnh ghép hoặc phức tạp, chẳng hạn như nếu, trong khi, def và lớp yêu cầu một đường tiêu đề và một bộ. are called suites in Python. Compound or complex statements, such as if, while, def, and class require a header line and a suite.

    Việc sử dụng khác trong Python là gì?

    Từ khóa khác được sử dụng trong các câu lệnh có điều kiện (nếu câu lệnh) và quyết định phải làm gì nếu điều kiện là sai.Từ khóa khác cũng có thể được sử dụng trong thử ... ngoại trừ các khối, xem ví dụ bên dưới.used in conditional statements (if statements), and decides what to do if the condition is False. The else keyword can also be use in try... except blocks, see example below.

    Mục đích của người khác là gì?

    Tuyên bố khác có nghĩa là gì?Trong các ngôn ngữ lập trình, một tuyên bố khác là một tuyên bố thay thế được thực thi nếu kết quả của một điều kiện thử nghiệm trước đó đánh giá là sai.an alternative statement that is executed if the result of a previous test condition evaluates to false.

    Có cho người khác 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.